"CORRUPTED MESSAGE"の回避

Courierでは、デフォルトではRFCに違反したメッセージを受け取った時に、 "CORRUPTED MESSAGE" で始まるメールの中に、当該メールを添付ファイルに変更して配信を行う。 以下のような出だしのメールが届いたら、このRFC違反拒否機能により処理されてしまったメールである。

                             CORRUPTED MESSAGE

This is the Courier Mail Server 0.53 on foo.bar.com

I received the following message for delivery to your address.  This message
contains several internal formatting errors.  This is often caused by
  :
  :

この機能を無効にするには、Courierの設定ディレクトリ(通常は/etc/courier)に、bofhというファイルを置く。 bofhファイルの中身は、以下のようにする。

opt BOFHBADMIME=accept

置いただけで有効になるようだが、念の為 Courier を再起動。

BOFHBADMIMEの値には、以下のものが指定できる。

なにも指定しなければ、wrap動作をする。

この設定は、ローカルから送信されたメール、あるいは smtpaccessファイル中にBOFHBADMIME指定されていないIPアドレスから送られたメールに対して有効となる。

BOFHBADMIME=accept の指定は MIME=noneも指定したことになるので、注意が必要。 MIME=noneだとRFCで規定されたヘッダが無い場合の、Courierによる補完を行わない。

サーバー証明書の更新

Debian Etchの場合

SMTPサーバー証明書

rootで以下を実行

vi /etc/courier/esmtpd.cnf (設定の変更が必要なければ不要)
rm /usr/lib/courier/esmtpd.pem
/usr/lib/courier/mkesmtpdcert
mv /etc/courier/esmtpd.pem /etc/courier/esmtpd.pem.old
mv /usr/lib/courier/esmtpd.pem /etc/courier/
ln -s /etc/courier/esmtpd.pem /usr/lib/courier/esmtpd.pem

IMAPサーバー証明書

SMTPサーバー証明書と同様

vi /etc/courier/imapd.cnf (設定の変更が必要なければ不要)
rm /usr/lib/courier/imapd.pem
/usr/lib/courier/mkimapdcert
mv /etc/courier/imapd.pem /etc/courier/imapd.pem.old
mv /usr/lib/courier/imapd.pem /etc/courier/
ln -s /etc/courier/imapd.pem /usr/lib/courier/imapd.pem

受信のみ/送信のみの設定

/etc/courier/userdbのパスワード設定項目が systempw なら、受信送信で同一のパスワードとなる。

これを、pop3pwとすればPOP3のみ、imappwとすればIMAPのみ、esmtppwとすればSMTPのみで有効なパスワードとなる。

上記の項目それぞれに異なるパスワードを設定すれば、受信送信で異なるパスワードを使用する設定になる。


カテゴリー:技術