[0] qmailその2-[Id of Radiance ver.5]





■ qmailその2

 最近RedHat(注:9)もMTAとしてsendmailだけでなくpostfixを選択できるようになったりと、 徐々にsendmail離れが進んでいるような気がします。てゆか進め(爆)。
 私はこれまでほとんどqmailだったワケですが、それほど分かって使ってるわけではなく ほとんど参考文献通りに設定して使ってた程度。当然、何か問題があれば少しづつ調べていくしか 無いわけです。

 で、先日一つ発覚したのが、qmailを利用したメルマガ配信サーバの改行問題。 とある読者さんから「改行コードがCRのみになってるようで表示がおかしい。インターネット標準のLFで送ってくれ」 という要望がありました。
 まずここで詳しいヒトなら分かると思いますが、LFがインターネット標準ってのは間違いです。 RFCだとSMTPの改行はCRLFを推奨してて、特にLFのみってのは色々問題が起きるんで評判悪いです。 qmailなんて生のLF(通称『bare LF』、裸のLF)受け取るとエラーと認識して弾くくらいですからね。
 でも、CRだけになってるってのは明らかにおかしい。確かに、サーバ内部でコンテンツデータを元に メールを生成して直接qmailに渡してるので、その辺間違うと妙なデータを送る可能性があるのだけれど。 と思い、メーラで取得する前のメールのファイルをサーバから抜き出して調べてみたら
   「・・・LFだけ・・・?」
 そう、送信前には明らかにCRがついてたメールから、CRが除去されてるんです。 でも、上記のような理由でLFだけで送れるハズがありません。特にbareLFシカトパッチをあててないqmailが そんなメールを受けとるわけがないんです。おかしい。違う意味で謎になったぞ。
 とか思って調べたら、リモートへの送信を行うqmail-remoteは、送信時にLFに対しCRを付加して送信するんだそうです。 また、逆に受信を行うqmail-smtpは受け取ったSMTPの改行コードCRLFからCRを除去して内部に送るんだそうです。 なるほどね。これじゃ直接中のファイルを見ればLFだけになってるハズだわ。逆にコレを送信しても 問題ないハズだわ。
 件のCR余計メールの場合、どうやら内部データの生成時の段階で改行コードがCRLFになってたらしい。 ひょっとするとこのせいで送信時の改行コードがCRCRLFとなって、余計なCRがついちゃったのかもしれない。 とりあえずそーゆー事にしといて、現在様子見中。

 で、先日もう一つ別の問題が。Redhat9にインストールしようと思ったら、途中でコンパイルエラー。 これはRedhat9というよりglibcとの相性問題ということのようで。ほんのちょっとソース&ヘッダを書き換えれば 済む話だったので一安心。一応パッチが出てたんでそちらをあてましたが。
 いやあ、一瞬あせりましたよ。「Redhat9でも大丈夫ですよー」なんて軽く言ったすぐ後の話だったんでね(苦笑)。

関連タグ:qmail
2003-06-01 [技術・作業]

関連記事: