2009-10-12 16 views
6

のJavaMail APIは、Gmail-AUTHとsetFromメソッド

http://pipoltek.blogspot.com/2008/02/sending-mail-using-gmail-smtp-server.html

私は電子メールを送信することができますが、それはよさそうだ.....しかし、私は、送信者を変更したいです電子メール使用してこの:

MimeMessage msg = new MimeMessage(mailSession); 
msg.setFrom(new InternetAddress("[email protected]")); 

[email protected]鉱山:)

トンがsetFromを使用する場合、私は私が使用してこのメ​​ールからのメールを、reciveダミーEメール、されていないです認証する。認証が理由であり、setFromメソッドを無効にしていますか?

「送信元」の電子メールを変更する必要があります。受信者が別の電子メールアドレスに再生を送信する必要があるためです。

答えて

7

GoogleのSMTPサーバーは、認証されたアカウントに属する送信元アドレス以外の送信元アドレスを使用できないようにしています。これは「スプーフィング」として知られていることを防ぐためのセキュリティ手段です。おそらくあなたは別の値に返信を設定し、Googleがそれを許可するかどうかを試すことができます。

+0

ありがとう......私はreply-toで試してみます。 – cupakob

+0

はyahooでは動作しますが、Googleでは動作しません。それはGoogleのバグ/機能(http://coding.derkeiler.com/Archive/Java/comp.lang.java.programmer/2008-05/msg02294.html)のようです。 – cupakob

+0

@ cupakob:Googleが返信を許可していない場合、送信メール用にGoogleのSMTPサーバーを使用していると不運になる可能性があります。送信メール用に独自のSMTPサーバーを実行するオプションはありませんか?おそらくQMailかPostfix? – Asaph

関連する問題