Emacs 上のメールクライアント Wanderlust を使う.
この環境でメールを読むのは 2014 年の暮れ以来になる.
午前中から昼過ぎにかけて, 設定を行った.
こういうシステム管理的な作業も 2 年以上やっていなかった.
Web 上の Gmail のメールボックスにあるメールを Google が提供している IMAP サーバー imap.gmail.com から fetchmail で取得して自分のコンピューター上に持ってくる. それを procmail で振り分けて Wanderlust で読めるようにする.
これが行う設定である.
昔からのやり方.
まず fetchmail を起動して IMAP サーバーからのメールの取得が行えるかどうかを確認してみる.
先月 MacPorts で各アプリケーションをアップデートしたので, その際に fetchmail 自体 (および procmail) は新しいものになっている.
fetchmail を起動してみた.
すると "authentication failed" となってメールの取得に失敗する.
SMTP 認証がうまくいかない.
OS も当時は OS X と呼ばれていたものが今では macOS だし, Gmail の認証メカニズムも 2 段階認証とか導入されているし, いろいろと変わっているんだろう.
SMTP 認証は Postfix と Cyrus SASL を使って SASL データベースを参照して行うという方法を使っていた.
認証方式の指定を行う
smtpd.conf
ファイル (※) の内容は
pwcheck_method: auxprop
mech_list: PLAIN LOGIN
となっている.
※:
smtpd.conf
ファイルは /usr/local/lib/sasl2
の下にある. Cyrus SASL2 を MacPorts で /usr/local 以下にインストールした上で,
# mv /usr/lib/sasl2 /usr/lib/sasl2.orig
# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
としている. このため,
/usr/lib/sasl2/smtpd.conf
として参照できる.SASL データベースを使うには, sasldb プラグインを使うのだが, とりあえず SASL データベースへのユーザー登録をあらためて行ってみた.
# /usr/local/sbin/saslpasswd2 -c -u gmail.com MyGmailAccountName
Password: ThisIsMyPASSWORD
Again (for verification): ThisIsMyPASSWORD
これでうまく行く筈なのだが, どういうわけか SMTP 認証が相変わらずうまく行かない.
どうして?
それで, 昔作った自宅システム管理ノートを見てその記述に従った.
smtpd.conf
ファイルを以下のように編集して, SASL データベースの sasldb プラグインを明示的に指定するように変更する.
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM
このあたりの情報は古くなっているかも知れないがさしあたりこの通りにしてみる.
認証メカニズムを指定する
mech_list
は PLAIN
, LOGIN
のみでいいと思うのだが, 現在の Cyrus SASL 2.1.16 に含まれているすべてを指定している (†).このあたりの曖昧さは自分のシステム管理に関する理解とか経験, 勉強不足などから来ているのだろう.
† 2018 年 3 月 10 日 追記:
mech_list
は PLAIN
, LOGIN
のみの指定でよい. つまり smtpd.conf
は
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN
のように記述する.
しかし, 上のようにしたら SMTP 認証が通って fetchmail によるメール取得ができた.
すっきりしない点もあるが, これで先に進むことにする.
これで Emacs 上で Wanderlust を起動したが
Symbol's function definition is void: elmo-string
というエラーが出て起動しない.
そこで Wanderlust を最新の開発バージョンにアップデートした.
現在では Wanderlust は Emacs のパッケージリポジトリー MELPA からインストールできるようになっているようだ.
しかし, 自分の勉強のために手元にある Wanderlust のソースコードをコンパイルしてインストールしてみた.
Wanderlust をコンパイルするためには, 事前に APEL, FLIM, SEMI というモジュールをそれぞれ最新のものにしておく必要がある.
Git リポジトリーからのアップデートで Wanderlust およびそれぞれのモジュールを最新版にしてからコンパイルとインストールを行った.
エラー無しにコンパイルもインストールもできる.
いつも思うが, こういうのはすごいことだ.
開発をしている人たちに本当に頭が下がる.
Wanderlust を起動したら fetchmail で持ってきた Gmail のメッセージ一覧が表示されるまでに相当の時間がかかった.
28,000 通...
この中にどんなメールがあるのかわからない.
いろいろな責任を放り出して逃げた自分への罵倒や非難や意見のメールもあるだろう.
しかし, Emacs でメールを再び読める環境を構築できたのは良かった.
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image