わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Ubuntuのアップグレードで,メールが読めなくなった!?

 職場での俺馬鹿案件です.
 思うところあって,自前でメールサーバを運用しています.Ubuntuで,メール(SMTPIMAP),ウェブ,リモートログインのサービスは,自分しかアクセスしません.主な目的は,受信メールの蓄積です.
 職場の自分宛てのメールは,常用のWindows PCでThunderbirdからそこにアクセスして,読んだり検索したり,送信したりしています.このサーバが止まったときのために,OutlookWebメールや,Gmailも併用しています.ということで,受信メールはトリプルチェックの体勢です---それでも読み飛ばしや不用意な削除をしてしまうことがあります.
 Ubuntuのサーバについて,sshでログインすると,do-release-upgradeコマンドでアップグレードできるよというメッセージが表示されていたので,コマンドを実行して,18.04.5から20.04.1のアップグレードを行いました.
 そうすると,Thunderbirdでメールサーバへのアクセスが,できなくなりました.アップグレード中だから,そういうこともあるかなと思いながら,ブラウザでメールを見て急ぐものがないのを確認し,授業の準備に時間をとりました.
 アップグレードが完了し,サーバの再起動をしました.少し待って,sshでログインできました.しかし,メールが読めません.
 試しにメールを送信してみました.何度かダイアログが表示され,失敗したかなと思ったら,Webメールのメールボックスには,入っていました.サーバのホームディレクトリのMaildirにも,ファイルが追加されていました.
 再度,送信することで,ダイアログの中に,送信は成功したが云々と,書かれているのに気づきました.
 送信はできるけれど,受信はできない,となると,見直しを図らないとけないのは,SMTPを担うPostfixではなく,IMAPに関するDovecotです.
 しかし/var/log/mail.logやmail.errを見ても,エラーらしき記録はありません.
 少し検索して,見るべきログファイルが間違っていたことに気づきました.見るべきなのは,/var/log/syslogでした.そしてDovecotのエラーが,入っていました.日時・ホスト名・プロセスIDは伏せ字にしています.

**** **** systemd[1]: Started Dovecot IMAP/POP3 email server.
**** **** dovecot[*]: doveconf: Warning: NOTE: You can get a new clean config file with: doveconf -Pn > dovecot-new.conf
**** **** dovecot[*]: doveconf: Warning: Obsolete setting in /etc/dovecot/conf.d/10-ssl.conf:47: ssl_protocols has been replaced by ssl_min_protocol
**** **** dovecot[*]: doveconf: Error: Could not find a minimum ssl_min_protocol setting from ssl_protocols = !SSLv2 !SSLv3: Unrecognized protocol 'SSLv2'
**** **** dovecot[*]: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: protocols: Unknown protocol: sieve
**** **** systemd[1]: dovecot.service: Main process exited, code=exited, status=89/n/a
**** **** systemd[1]: dovecot.service: Failed with result 'exit-cod
e'.

 アップグレードに伴い,Dovecotの設定ファイルの内容が古くなったので更新せよ,というメッセージです.
 書かれているとおり「doveconf -Pn > dovecot-new.conf」のコマンドを(/etc/dovecotで)実行し,これまでのdovecot.confと見比べましたが,変更の手間が大きそうに感じ,これまでのファイルを編集することにしました.
 /etc/dovecot/conf.d/10-ssl.confについては,次のページが参考になりました.

 「ssl_protocols = !SSLv2 !SSLv3」と書かれていた箇所をコメントにし,「ssl_min_protocol = TLSv1」を追加しました.
 ですが,まだThunderbirdを使ってメールを読めません.サーバ本体を再起動しても,Thunderbirdのメール設定をいろいろ変更しても,ダメなものはダメのままです.
 Thunderbird以外のMUAでやってみないといけないのか,インストールや設定が面倒だなあと思いながら,検索し直すと,気になる情報を見つけました.

 サーバの/etc/dovecot/conf.d/10-auth.confを見ると,「# disable_plaintext_auth = yes」と書かれていました.先頭が「#」で,コメントとなっていますが,前後を読むとこれがデフォルト設定という意味です.
 「disable_plaintext_auth = no」に変更して保存し,Dovecotを再起動…
 やっと,Thunderbirdでメールが見えるようになりました.自分で送った2通のテストメールも,入っていました.至急の返信が必要なものを見つけ,対応しました.