日々

社内のメールサーバ構築は、何故かPostfixで受信したmbox形式のメールをDovecotで読み出す際に削除してもメールファイルの容量が減らない事象に出会ってしまい完全に頓挫。
定時後、第二神明で帰ろうとしたら北線の分岐すぎてしばらくしたところで大渋滞が発生。何とか高丸ICで降りて西神中央方面から下道で帰宅。晩御飯は目玉焼き乗せカレーライス。
晩御飯終わってから急激な眠気に襲われてソファで横になって寝てしまう。気付いたら夜11時前だった。とりあえず、フォトカツの体力が回復してたので今日からはじまったイベントをこなす。メドレーなので1回10分近くかかる上にレベルアップまでの経験値が1/4近く貯まるので、ランク256にアップ。そして回復した体力を使うべく再びメドレーを3回プレイした結果、軽く40分以上が経過(汗)
ふと、今日の社内メールサーバ構築でメール削除が出来ない件を思い立って調べてみる。systemctl status dovecotで見ると削除時のエラーが見えた。/var/log/mail.logでも同じエラーが確認出来たので、エラー内容で調べてみると対策書いてる日本語ページが2件ヒット。英語ページはDovecot WikiのBasic Configurationがヒットしてたので、Google翻訳のサイトで1行ずつ翻訳してみると尋常じゃないくらいに自然な翻訳結果が出てきて驚く。これが例のディープラーニングの効果なのか。
原因は、Debianでは/var/mailのオーナーがrootが所属していないmailグループ(NetBSDではrootが所属しているwheelグループになっている)になっているので、rootで起動しているdovecotがメールファイルを書き換えるためにdotlockファイル(ロックファイル)を作れないのが原因だった。dovecotの設定(conf.d/10-mail.conf)にメール特権グループ(mail_privileged_group)をmailにすれば、メール削除でちゃんとメールファイルの容量が小さくなるようになった。
これはPostfixがメールボックスをロックする方法(postconf -dで確認できるが、main.cfのmailbox_delivery_lockで指定する)と一致しないといけない模様。しかし、この件について触れてるページって全然ないな。少なくともエラーログに出てた「file_dotlock_create」でググると日本語ページは7件しか無く、適切な対策方法が書いてあるのは2件だけだった(汗)