AmazonEC2で実行されているインスタンスがあるとします。
somehost.example.com
このインスタンスは、他のドメインのいくつかのアプリケーションまたはWebサイトをホストします。
www.example.com
web.example.org
etc.
このホストは、exim4を使用してAmazonSESとインターフェイスしてメールを送信するように設定されています。 Amazon SESでは、各ドメインが有効な送信者として個別に許可されています。
www.example.com
web.example.org
etc.
ただし、予想どおり、インスタンスのFQDNと実行中のユーザーが各電子メールの送信者として使用されているため、すべての電子メールは次の宛先から送信されているように見えます。
[email protected]
確かに、somehost.example.comからのメールを許可するようにAmazon SESを設定できます。さらに、アプリケーションレベルでメールに'From: "Whoever" <[email protected]>'
エンベロープを追加できます。
私が疑問に思っているのは、(a)これは許容できる解決策であり、そうでない場合は、(b)各ドメイン(example.comなど)のメールが「something.example」から直接発信されているように見えることを示すためにどのような構成を検討すればよいかです。実際のホストではなく、.com "サーバー。これには、hostname.example.com DNSエントリを作成し、それをサーバーにポイントすることが含まれると思いますが、それを超えると、これを許可するようにeximまたはアプリケーションを設定する方法がわかりません。
Eximを設定して、送信メールでローカルメール名を非表示にすることができます。さらに、スマートホスト(この場合はAmazon SESのもの)を使用するようにメインのeximサーバーを構成する必要があります。
各サイトが独自の仮想サーバーで実行されていると仮定しましょうwww.example.com(192.0.2.1)およびweb.example.com(- 192.0.2.2)そしてあなたの電子メールサーバーはさらに別の仮想サーバー上にありますsmtp.example.com(192.0.2.1)。
Exim4を再構成するには、次のコマンドを実行できます。
dpkg-reconfigure exim4-config
メインの電子メールサーバーsmtp.example.comで、次のように構成します(関連するものだけをリストしました)。
メール構成の一般的なタイプ:スマートホストによって送信されるメール。 SMTPまたはfetchmail経由で受信
システムメール名:smtp.example.com
メールを中継するマシン:192.0.2.1; 192.0.2.2
発信スマートホストのIPアドレスまたはホスト名:THE_Amazon_SES_IP
送信メールでローカルメール名を非表示にしますか?はい
ローカルユーザーの表示可能なドメイン名:example.com
他のサーバーでは、ホストの例としてwww.example.comを使用して、このようにeximを構成します。
メール構成の一般的なタイプ:スマートホストによって送信されるメール。ローカルメールはありません
システムメール名:www.example.com
メールが受け入れられる他の宛先:LEAVE_EMPTY<-これにより、「送信メールでローカルメール名を非表示にするオプションが有効になりました」
ローカルユーザーの表示可能なドメイン名:www.example.com
発信スマートホストのIPアドレスまたはホスト名:192.0.2.10
サーバーが1つしかない場合は、2番目の手順を無視してください。メインサーバーは、ローカルサーバー名を非表示にする電子メールを送信し、example.comから送信されたものとして送信する必要があります。
メールがEC2インスタンスから発信されたという事実を隠そうとしていますか?簡単に言えば、できません。 Received:
ヘッダーには、ネットワークを通過する電子メールのパスのかなり完全なトレースが含まれます。あなたにとって幸いなことに、ほとんど誰もそれらを見ることはありません。
受信者にFrom:
ヘッダーに妥当なものを表示したいだけの場合は、電子メールを送信するときにFrom:
ヘッダーに妥当なものを入れてください。