qmailTweetこんにちは、亀本です。個人的な話ですが、先日姪っ子が生まれました。おじさんになってしまいました。昨日見舞いも兼ねて病院に行ったのですが、赤ん坊は本当にかわいいですね。自分はキャラに似合わず子供好きだったりするので、見ていると幸せな気持ちになります。LF問題についてです。知っている人も多いトピックかもしれませんが、自分が一回これでハマったので、簡単に触れておこうと思いました。一般に、SMTPセッションはRFCの規定により使用される改行コードはCR+LFと規定されています。残念な事にこの規定は各種MTAやメーラーは必ずしもこのRFCに準拠しているものばかりではありません。(生のLF)と呼びます。LFなメールを投げてくる機種があります。PCの場合ならば、メーラーをバージョンアップ・変更などのユーザー側措置も可能ですが、携帯端末の場合はそうはいきません。一度携帯を買ったら、ユーザーはその携帯端末のメーラーとしばらくお付き合いすることになるため、メーラーが規約違反だから!なんていってユーザーをはじいてしまうのは流石に可哀そう。いうか、事情を知らないユーザーには説明できませんね。そのため、こういった問題はサーバー側で吸収するしかありません。含んだメールでも処理してくれるので、それほど大きな心配はいりません。qmailではこのようなLFのみの場合はエラーとしてはじいてしまいます。このため、qmailで携帯端末のような問題を回避し得ないユーザーを相手にする場合には、きちんと対策を講じておく必要があります。qmailでこの問題に対処するには、qmailと併せて利用されるtcpデーモンのucspi-tcpに含まれるfixcrioというコマンドを使います。fixcrioは、行末にCRの付与されていない改行に、CRを付与した形で返してくれます。通常、ソースパッケージからインストールしたqmailの起動スクリプトでは、qmailの起動はqmail-smtpdを直接呼び出すようになっていますが、これをfixcrio経由で呼び出すように変更します。LFで送ってきてしまうようなRFC違反のメールでも、qmailにエラーとしてはじかれることなく処理することができるようになります。qmailの改行コードやヘッダー周りの問題はこれだけではなく、あれこれとRFCに違反する点もあるようですが、運用上はそれらに関しても注意が必要です。(参考:qmailのRFC違反)細かなネタですが、参考になれば幸いです。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。