FreeBSD QandA 303

FreeBSD QandA

Q. fetchmail が
    reading message 1 (xxxx bytes) .fetchmail: SMTP connect failed
    fetchmail: SMTP transaction error while fetching from xxx.xxx.xxx
   というエラーを表示して、メールを持ってきてくれません。

A. fetchmail は、POP や IMAP で取得してきたメールを、標準では SMTP を使っ
   て配送しようとします。sendmail.cf を正しく設定した上で、sendmail(8) を
   daemon モードで動作させてやれば一応問題は解決するのですが、ローカルメー
   ル配送のためだけに sendmail を動かしておく意味は無いばかりか、セキュリ
   ティの面でもあまりお薦めできません。

   その代り、~/.fetchmailrc に mda 指定を追加する方が良いでしょう。以下に
   例を示します。なお、username は各自のローカルユーザ名に置き換えてくだ
   さい。

   1)      mda "/usr/libexec/mail.local username"

     ローカルメーラを指定する方法です。今までは一般的な方法でしたが、
   4.2-RELEASE からは、/usr/libexec/mail.local が set-user-id バイナリと
   してインストールされなくなった影響で、そのままでは使えなくなった方法で
   す。しかし、他の方法に比べ万一なにか問題があった場合でも、外部への被害
   を与える心配が無いという意味では安全です。

   2)      mda "/usr/sbin/sendmail -oem username"

     4.2-RELEASE からは、sendmail を指定することになります。もちろんそれ
   以前のリリースでも有効な方法ではあります。

   3)      mda "/usr/local/bin/procmail -d username"

     メールの振り分けのために procmail を指定する方法です。上記の二つは単
   純にローカルのメールスプールに転送するだけでしたが、独自のスクリプト等
   を指定する事で柔軟な処理が行えます。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。