2009-10-12 10 views
6

per questa applicazione che sto seguendo questo esempio:JavaMail API, Gmail-Auth e setFrom

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

posso inviare e-mail, si guarda bene ..... ma voglio modificare il mittente posta elettronica utilizzando questa:

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

[email protected] è fittizio e-mail, non è la mia :)

Quando t utilizzare setFrom, ho ricevere le e-mail da questa e-mail, che io uso per autenticare. L'autenticazione è il motivo, che disabilita il metodo setFrom?

Ho bisogno di cambiare l'e-mail "da", perché voglio, che il destinatario mi invii un replay a un altro indirizzo e-mail.

risposta

7

Il server SMTP di Google impedisce l'utilizzo di un indirizzo diverso da quello che appartiene all'account che è stato autenticato. Questa è una misura di sicurezza per prevenire ciò che è noto come "spoofing". Forse puoi provare a impostare la risposta a un altro valore e vedere se Google lo consentirà.

+0

grazie ...... proverò con la risposta a. – cupakob

+0

funziona con yahoo, ma non con google. Sembra essere un bug/funzionalità in google (http://coding.derkeiler.com/Archive/Java/comp.lang.java.programmer/2008-05/msg02294.html). – cupakob

+0

@cupakob: se Google non consente la funzione di risposta, è possibile che non si riesca a utilizzare il server SMTP di Google per la posta in uscita. Non è un'opzione per eseguire il proprio server SMTP per la posta elettronica in uscita? Forse QMail o Postfix? – Asaph