今更qmail? な意見はごもっともですが、仕様として決められちゃってる以上しょうがないという事でqmailを使っている訳で。
そんな中、後述の条件でsmsアプリからメールを送信すると、受信されない・qmail側にログさえ残らないという症状が起きた。
色々調べた結果、後述のような事が判った次第。
発生条件
- softbank契約のiPhone
- iPhoneのsmsアカウントからインターネットへメールを送信する
- メール受信するドメインのメールサーバがqmail
何が悪いのか
smtpセッション中にcr, lfの改行コードを間違えて送るせいでqmailが反応しない。
なので、qmailのsmtpdにメールが届く前に改行コードを修復するツール(fixcrio)を使用する
対応方法
下記の様に、/var/qmail/service/init.smtpd を書き換える
/var/qmail/service/init.smtpd
/usr/local/bin/fixcrio /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 | /var/qmail/bin/splogger qmail-smtpd &
スクリプトの最終行の先頭に、fixcrioを呼び出す処理を書くだけ。