web-dev-qa-db-ja.com

Exim:ローカルネットワークからメールを送信するときに送信者アドレスを変更する

ユーザーがメールを送受信できるサイトにexim設定が機能しています。ローカルネットワーク外のアドレスに電子メールを使用して警告とエラーを送信するようにサーバーを設定しようとしています。

問題は:

メールを送信するプログラムは、実行するユーザー名とサーバーのローカルホスト名を使用してメールを送信します。これにより、メールの送信者の形式は[email protected]になります。 EximはこれらのメールをISPのSMTPサーバーに送信します。ISPサーバーは、違法または検証不可能な送信者(内部アドレス)を持っているメールを拒否します。

私は送信者を書き換えるようにeximを設定する必要があると考えています:

  • 送信者のドメインはローカルネットワーク上にあります
  • 受信者のドメインがローカルネットワークの外にあります

Eximの設定でなんらかの書き換えを設定しようとしましたが、うまく機能しませんでした。試した結果をお見せしますが、前回サイトにアクセスしたときに時間が足りなくなり、試したすべての変更が失われて元のバージョンに戻す必要がありました。

8
Esa Varemo
begin rewrite
[email protected]   [email protected]   SFfrs

フラグには次の意味があります。

  1. S-すべての書き換えをSMTP時に行います。つまり、次のフラグはすべて、それらが適用されるデータが到着するとすぐに実行され、後で遅延されることはありません。
  2. F-エンベロープをフィールドから書き換えます。
  3. f-From:ヘッダーフィールドを書き換えます。
  4. r-Reply-To:ヘッダーフィールドを書き換えます。
  5. s-Sender-To:ヘッダーフィールドを書き換えます。

メッセージの書き換えの詳細については、Exim仕様の 第31章 を参照してください。

9
Kondybas

ファイル /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
10
BillThor

/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