[[TableOfContents(1)]]

= "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}}}の値には、以下のものが指定できる。
 * {{{accept}}} - RFC違反のメッセージを受け入れ、そのまま扱う
 * {{{reject}}} - そのメッセージを配送不能として拒絶し送り返す
 * {{{wrap}}} - そのメッセージを"包み込み"、 添付ファイルとして別に扱えるようにする

なにも指定しなければ、{{{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のみで有効なパスワードとなる。

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

----
カテゴリー:技術