ユーザーがメールを送受信できるサイトにexim設定が機能しています。ローカルネットワーク外のアドレスに電子メールを使用して警告とエラーを送信するようにサーバーを設定しようとしています。
問題は:
メールを送信するプログラムは、実行するユーザー名とサーバーのローカルホスト名を使用してメールを送信します。これにより、メールの送信者の形式は[email protected]になります。 EximはこれらのメールをISPのSMTPサーバーに送信します。ISPサーバーは、違法または検証不可能な送信者(内部アドレス)を持っているメールを拒否します。
私は送信者を書き換えるようにeximを設定する必要があると考えています:
Eximの設定でなんらかの書き換えを設定しようとしましたが、うまく機能しませんでした。試した結果をお見せしますが、前回サイトにアクセスしたときに時間が足りなくなり、試したすべての変更が失われて元のバージョンに戻す必要がありました。
begin rewrite
[email protected] [email protected] SFfrs
フラグには次の意味があります。
メッセージの書き換えの詳細については、Exim仕様の 第31章 を参照してください。
ファイル /etc/email-addresses
が問題を処理する必要があります。これはEximディストリビューションの標準的な部分です。メールを送信するローカルユーザーごとに1つのレコードを設定する必要があります。
/etc/email-addresses
お気に入り:
myapp: [email protected]
MXサーバーに次のようなエイリアスを追加します。
donotreply: :blackhole:
使う Reply-to:
ヘッダー。受信者がメッセージに返信できるようにします。
ファイル /etc/email-addresses
は、次の書き換えコードで使用されます。これは、構成ファイルのrewrite
セクションの先頭にある必要があります。
*@+local_domains "${lookup{${local_part}}lsearch{/etc/email-addresses}\
{$value}fail}" Ffrs
/etc/email-addresses
は、ユーザー名ごとにoneメールアドレスを関連付けるだけでよい場合に便利です。ただし、ユーザーが複数のアドレスでメールを送信する必要がある場合は、毎回/etc/email-addresses
を変更する必要があり、必然的に間違ったアドレスを使用することになります。
別の方法は、exim4
コマンドとその-f
オプションを使用してメールを送信することです:
$ cat email|/usr/sbin/exim4 -f [email protected] [email protected]
-f
オプションを機能させるには、ユーザーがeximの信頼できるユーザーであるか、eximを許可された信頼できない送信者として受け入れる必要があることに注意してください。
私の場合、/etc/exim4/conf.d/main/02_exim4-config_options
のワイルドカードのおかげで、後者がデフォルトでした:
untrusted_set_sender = *
もう1つの解決策は、/etc/exim4/conf.d/main/00_local_settings
に次の行を追加することです(eximの分割構成を想定し、まだ存在しない場合は作成します):
MAIN_TRUSTED_USERS = yourusername
どちらのオプションもeximの設定をリロードする必要があります。 Debianの下:
# dpkg-reconfigure exim4-config