メールサーバ管理者から qmail の設定変更についてメールが来た。メールアドレスに引用符 " を付ける処理を変更するとのこと。
qmailでは、RFCにおいてクォート処理が必要とされているメールアドレスを
【確実に】クォートしていることが判明しました。
これが、アダとなって、2003/06/08以降、e-mailを受け取れないでいるユー
ザが多数います。
対象は、メールアドレスのユーザ部がドット(.)で終わるユーザです。
(引用者により中略)
また、ユーザにアドレス変更をお願いするのも、すぐには実現できません。
そこで、qmailにクォート処理をやめさせます。
qmail-1.03では、quote.cのquote_need()という関数で、クォート有無を決定
しています。
この関数の以下の行が、ユーザ部がドット終わりとなっている場合の評価です。
if (s[n - 1] == '.') return 1;
今回は、この行の前後を#ifdef式で囲むこととしました。
#ifdef LAST_DOT_QUOTE
if (s[n - 1] == '.') return 1;
#endif
オリジナルのソースであれば、LAST_DOT_QUOTEは未定義なので、コンパイル
されません。
この処理を復活させたいのであれば、コンパイルオプションに、
-DLAST_DOT_QUOTE
を追加(Makefileの編集で実現)して再コンパイルします。
以上の内容となります。
今後、別サーバにqmailを導入する際の参考としてください。