~/.forward デバッグ方法

~/.forward デバッグ方法

~/.forwardファイルをデバッグしたり、メールエージェントが記録したエラーを表示する方法ルート権限なし

メールを処理するためにprocmailを使用しようとしています。

procmailを手動で呼び出すとき

procmail < testMailFile

期待どおりに動作します(私のprocmailルールは入力をファイルに書き込みます)。

~/.forward ファイルが存在しない場合、すべてのメールはデフォルトのメールボックスである /var/mail/$USER および ~/.procmailrc に送信されます。進まなかった

~/.forward を作成するとき:

"|exec /usr/bin/procmail || exit 75"

メールの送信が停止しましたが、.procmailrc まだ処理されていません。

$ lsb_release -a|grep Desc
Description:    CentOS release 5.10 (Final)
$ rpm -q exim
exim-4.63-10.el5

答え1

procmailを直接処理するようにトランスポートとルーターの設定を設定した場合は、forを使用する必要はありません.forwardprocmailexim

~から文書のインポートとエクスポート:

# transport
procmail_pipe:
  driver = pipe
  command = /usr/local/bin/procmail -d $local_part
  return_path_add
  delivery_date_add
  envelope_to_add
  check_string = "From "
  escape_string = ">From "
  umask = 077
  user = $local_part
  group = mail

# router
procmail:
  driver = accept
  check_local_user
  transport = procmail_pipe

答え2

いくつかのオプションがありますが、普遍的なものではありません。

メールサーバーのログが誰でも読める場合は、エラーメッセージを確認できます。メールサーバーが 。exim認知を検索する/var/log/exim/か、単に検索します/var/log/mail。記録された内容は別々のウォーム缶で終わり、始点は構成ですが、syslogこれが唯一のゲームではありませんが、/etc/syslog.confシステムにゲームがある場合はおそらくそうです(特にCentOS以前のプラットフォームのようなものを使用する場合)。 )。

.forward(ログが誰でも読めない場合は、システム管理者にログを変更するように説得したり、読み取りアクセス権を持つグループに追加したりすることができます。または、少なくとも特定の時点で問題を解決できます。最近の時間)。

第二に、電子メールが返送されますか?通常、メールサーバーがメール配信に失敗した場合は、やや詳細な診断情報とともにエラーメッセージ(DSN、「バウンス」、「ブーメラン」)を再送信します。

運が良ければメールを送らずにメールサーバーに接続して通信すれば診断を受けることができます。localhost次のようにポート25で実行されているSMTPサーバーがあるとします。

bash@centos$ telnet localhost 25
>>> Connecting to localhost ...
>>> 220 Exim is listening, congratulations.
<<< vrfy [email protected]
>>> 454 4.7.1 [email protected] relay access denied
<<< quit
>>> 221 So long, sayonara, au revoir.

ここでは<<<、入力した内容を示し、>>>リモートシステムの応答です。この特定のエラーメッセージはほとんど発生しませんが、少なくとも報告することができ、理解する必要があるものの例を示します(基本的にHTTPと同様に、2xxは問題ありません。4xxまたは5xxはエラーです)。

全体として、Procmailには失敗モードの数がかなり制限されています。あなたのファイルに対する権限を.procmailrc最初に調べる必要があるようです。

恥知らずなプラグ:また参照http://porkmail.org/era/mail/procmail-debug.html

関連情報