~/.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を使用する必要はありません.forward
。procmail
exim
~から文書のインポートとエクスポート:
# 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