Lets Encryptの自動更新とメールサーバー

このドメインの証明書はLetsEncryptを使っていて、証明書の有効期限が3ヶ月なので2ヶ月ごとに自動更新している。
メールサーバーはpostfixとdovecotを使っているのだが、先日メールアカウントを追加した時に、メールクライアントの設定でハマった。
認証はSSLを使うのだが、メールクライアントへのアカウント追加が失敗してしまう。
失敗理由をちゃんと表示してくれるクライアントソフトなら良いのだが、そうでないものは認証に失敗したことしか教えてくれない。
sylfeedでログウィンドウを出して操作すると、どうやら証明書の有効期限が切れているようだ。
メールサーバーの設定ファイルを見ても、リンクされた最新の証明書ファイルを指しているし、設定済みの同じドメインのメールアカウントからのメール受信は成功している。
仕方がないので、Ubuntuをセットアップした時のメモを読み返すと、postfixの認証はdovecotに任せている。
改めてdovecotの設定ファイルを確認しても問題は無さそうにしか見えない。

この記事の先頭で触れたので、ピンと来ている人も多いだろうが、証明書が更新されてからdovecotのサービスが再起動されていないため、新しい証明書を正しく見れていなかったことが原因だった。
エンドトゥエンドの暗号化メールでない限り、メールクライアントとメールサーバーの間しか暗号化通信はされていない。
その時の暗号化鍵ファイルは最新のものが使われると思うが、クライアントのセットアップのためのドメイン情報確認の時には、dovecotがメモリに展開済みの証明書の内容を返しているらしいことが想像できる。
まぁ、メール受信確認のたびにメモリ展開された証明書を使って認証エラーにならないだけマシだが、何とも納得いかない動作だ。
証明書の更新後に、webサーバは再起動するようにしていたかも知れないので、そうならばそのスクリプト内でpostfixとdovecotも再起動して、メールフィルタへのチェインも貼り直すのが良いのか。