2

SMTP/postfix の知識の限界に達しました。

javamail 1.4 を使用してメールを送信しています。javamail ライブラリがローカルの後置プロセスに接続しています。postfix プロセスは、gmail を介してメールを中継するように構成されています。

relayhost = smtp.gmail.com:587

javamail lib を使用して、差出人アドレスを設定しています。しかし、メールが受信トレイに届くのは、gmail サーバーへのログインに使用しているユーザーからのものです。

たとえば、私のコードでは、からをnoreply@example.comに設定しています。postfix は gmail を介してメールを中継するように構成されており、user1とパスワードを使用して smtp サーバーにログインします。メールは、user1@example.com からのものであるかのように受信トレイに届きます (gmail の受信トレイから「元の」メッセージを表示すると、noreply@example.comについて言及されていません)。

javamail の上で Spring 3.0 のライブラリ (MimeMessageHelper) を使用していることに言及する価値があるかもしれません。

4

1 に答える 1

9

Google は、SMTP セッションの認証済みユーザーと一致するようにメッセージのヘッダーを書き換えています。 GMail アカウントに他のメール アドレスを登録することができます(「カスタム From アドレス」)。その場合、それらの他のアドレスはFromヘッダーで受け入れられます (ただし、GMail は認証されたユーザーをSenderヘッダーに追加します)。 Google の SMTP サーバーを使用することを選択した場合、これを回避する方法はないようです。

于 2011-01-12T20:58:19.717 に答える