▼mnews用 unofficialパッチ▼

$Keywords: mnews mnews122PL5.tar.gz Google GMail OAuth2

$Id: index.html,v 1.2 2022-05-04 20:25:54+09 kabe Exp $


mnewsはもう公式には配布されなくなってしまったので、 ソースコードは入手困難です。 当方もオリジナルの tar.gz は紛失してしまったので、 CVSに残っていたものをexportしたものを置いておきます。

mnews は最終的には1.22PL6, 1.22PL7 まで出ましたが、 IPv6対応が中途半端で終わってしまっているので、 当方ではPL5ベースで改造を行っています。


▼英語校正パッチ

あまり使われない英語版のメッセージを校正したものです。 動作には影響なし。 コンパイル時に -DLOCK_LANGUAGE を追加することで、 [x]キーでの言語切替を無効にすることができます。英語圏への輸出用。


▼OAUTH2 対応パッチ、その他

遠隔にあるニュースサーバ、POP3サーバでの使い勝手を向上させたものです。 その他の改良も同梱。

▽変更点

▽SMTPs, POPs サーバーへの接続

mnewsは SSL には対応していないので、SMTPs, POPs でしかサービスを 行っていないメールサーバ (GMailなど) では、stunnel(1) を経由させて 使います。

#!/usr/local/sbin/stunnel
# ~/lib/stunnel.conf
#syslog = yes
debug = daemon.notice
pid = /home/user/var/stunnel.pid
client = yes
foreground = no

[google_POPs]
accept = localhost:10110
#libwrap = no
connect = googlemail-pop.l.google.com:995

[google_IMAPs]
accept = localhost:10143
#libwrap = no
connect = googlemail-imap.l.google.com:993

上のような stunnel.conf を用意し、 stunnel stunnel.conf でstunnelを起動した後、 mnews -Plocalhost:10110 とすれば POP3s のサーバーに接続できます。


▼GoogleのOAuth2認証に必要なヘルパーアプリ oauth2

GMail では、2021/02/16以降、「安全性の低いアプリへの接続」 (Less Secure Apps, LSA)での接続が 出来なくなります ので、SMTPsやPOP3s、IMAPsでの認証は PLAIN 認証が使えなくなり、 OAuth2 認証を使わざるを得なくなります。

mnews単独ではOAuth2に対応させるのはかなり難しい (httplibを持っていない、GUIブラウザを自動起動するすべを持っていない、など) ので、 OAuth2の「アクセストークン」を生成する外部アプリケーション経由で OAuth2対応にしてみました。

INSTALL.txt
OAuth2でGMailにアクセスするための下準備。 GoogleのUsing OAuth 2.0 to Access Google APIs
Visit the Google API Console open_in_new to obtain OAuth 2.0 credentials such as a client ID and client secret
の部分です。 GoogleのGUIは変わる可能性が高いので、この INSTALL.txt は 早晩その通りには行かなくなるかもしれません。

クライアントID, クライアントシークレットが準備できたら、 ./client-id.dat.tcl に書き込みます。

oauth2 Tclスクリプト
HTTPエンジンにはcurlを使っているので併せて準備してください。

ここまでできたら、

env POP3USER=user@example.com POP3_OAUTH2_CMD="./oauth2 -q refresh" mnews -Plocalhost:10110
でメールを取り込んでみます。 ユーザ名やパスワードは聞かれません。


kabe@sra-tohoku.co.jp