qmail は本家 sendmail よりもセキュアな MTA として人気があったんだけど、更新がストップしてもう22年も経つため、仕様的には相当古くなってきた。
とは言っても、未だに見つかった脆弱性が「DoS攻撃」に関するものだけで、しかもこれもリソース制限を行うだけで回避可能で、なんでそれだけ堅牢なのかというと、本家 sendmai が高機能・多機能化してバグとセキュリティホールの塊と化していったのを反面教師にして、とことん機能を絞ってシンプルにしたから。
一部、UNIX ルールに則らない作りになってたり、ソースコードがけっこう癖があったりする MTA なので、qmail が嫌いな人はとことん嫌うんだけど(^^;、俺は、まあ、良い MTA だと思ってる。
qmail 用に考えられた Maildir 形式のメール保存方法は今や他の MTA にも実装されているしね。
ただ、冒頭に書いたように作られたのが随分前なので、qmail を使って新しい仕様のサービスを構築するのはなかなか難しい。有志たちが IMAP とか SMTP-AUTH とか、qmail 開発終了後に一般的になった機能を実装するための patch を作ってくれているので、それを利用することになるのだが、公式の開発チームがあるわけではないので「qmail で○○したくなった誰かが patch を作ってくれるのを待つ」しかできない。
で、特に最近 qmail を使っていて悩みの種なのが Gmail がらみである。
3月に構築した qmail サーバが今年の 4月頃から全然 Gmail にメールが送れなくなった。
インストールした時点では送れたはずなんだけどなあ・・・。250 ok は返ってくるのに、受信トレイには表示されない。ゴミ箱、迷惑メールにも入ってない。
このサーバは送信専用だったので Postfix に入れ替えて事なきを得たけど。
問題は、別の qmail+vpopmail で送受信に使っているサーバである。(マルチドメインのメールサーバなので、qmail だけ Postfix に入れ替えるわけにいかず、vpopmail で構築しているマルチドメイン環境も移行しなくてはいけないので、すぐにどうこうできるものではない)
こいつは、まったく Gmail に送れないわけではない。このサーバのユーザが exsample@gmail.com などに直接メールを送ればちゃんと相手に届く。
しかし、一点、変な動きをするパターンがあるのだ。
例えば、vpopmail で構築しているドメイン(仮に exsample.com)のユーザが転送ユーザだとする。
こんなふうに、xxxx@exsample.com ユーザの .qmail-xxxx ファイルの中で、
&aaa@exsample.co.jp
&bbb@gmail.com
&ccc@yahoo.co.jp
と 3人に転送する設定がされている。(Maildir には保存しない)
この時、aaa@exsample.co.jp の人が xxxx@exsample.com にメールを送った場合、そのメールは自分のところにも届く。&aaa@exsample.co.jp と転送設定がされているからだ。もちろん、bbb@gmail.com、ccc@yahoo.co.jp にも届く。
これは、ccc@yahoo.co.jp の人が xxxx@exsample.com にメールを送った場合も同じである。
ところが、bbb@gmail.com から xxxx@exsample.com にメールを送った場合は違う。aaa@exsample.co.jp と ccc@yahoo.co.jp には転送されたメールが届くが、bbb@gmail.com には来ないのである。
Gmail のサーバからは、
qmail: 1591000038.308115 delivery 3: success: 74.125.204.27_accepted_message./Remote_host_said:_250_2.0.0_OK__1591801038_p2si106412pjr.4_-_gsmtp/
と、250 ok が返ってきているのに!!
つまり Gmail に聞かないと「なぜ、自分に転送されるアドレスにメールした時だけ、転送されてきたメールが受信トレイに表示されないのか?」はわからないのだ。Yahoo! メールは問題ないので、Google がより厳しいチェックを行い「正式に受信しました」と相手には返しながら内部で破棄してるんだろうけど、何の情報も示さずに・・・というのはあんまりだ。
qmail の仕様が古いから、ヘッダ部に何らかの問題があるとかそういうことなんだろうけど、だったら MTA がエラーを返すか、250 ok で受け入れるのなら迷惑フォルダに振り分けるとか「調査が出来る情報」は与えて欲しいものである。
ちなみに、このサーバから(転送ではなく)普通に bbb@gmail.com に送ったメールは受信トレイに表示される。
というわけで、「qmail から Gmail にメールが送れない」「送れるけどちょくちょく問題が発生する」などの原因や解決策をご存知の識者の方は、ぜひご教授ください。(ググってみたけど、有効な問題にはたどり着けず・・・)