Duvida sobre JavaMail (Reply To)[Resolvido]

5 respostas
rockstorm

Saudações,

Estou desenvolvendo uma aplicação que envia e-mail com anexos para usuarios aqui da empresa. Só que estou com um problema com a conta de email da empresa onde não consigo utlizar o email para o envio.
O que estou fazendo:
Estou utilizando minha conta do GMAIL para enviar os e-mail, mas quando o usuario lê a mensagem e tenta dar um Reply, o email retorna para o endereço do GMAIL. Minha pergunta seria se é possivel eu utilizar um outro e-mail para dar Reply.

grato

5 Respostas

T

Você está usando Message.replyTo para setar o campo Reply-To de seus emails e o GMail está ignorando isso?
Ele está no direito de ignorar isso (ou seja, o Gmail pode remover o campo “Reply-To” de suas mensagens - ele deve fazer isso para evitar problemas de usar o GMail para fazer spam); o correto é usar um outro servidor de email que não faça isso.

rockstorm

Então o GMAIL retira o Reply to para nao existir spam??

Estou montando assim:

MimeMessage msg = new MimeMessage(session);
			    msg.setHeader("Disposition-Notification-To", from);
			    msg.setFrom(new InternetAddress(from, from));
			    InternetAddress[] address = {new InternetAddress(to)};
			    msg.setRecipients(Message.RecipientType.TO, address);
			    InternetAddress[] ende = {
			    		new InternetAddress(copia1),
			    		new InternetAddress(copia2)};
			    msg.setRecipients(Message.RecipientType.CC, ende);

Vou tentar outro servidor para ver se funciona.

T

Você não está setando o Reply-To. Não é o From que você tem de mexer, e sim o Reply-To.

rockstorm

voce poderia me dar uma força para enteder esse Reply-to, pois estou tentando fazer assim:

MimeMessage msg = new MimeMessage(session);
			    msg.setReplyTo(<Address>);

Eu nao estou conseguindo entender esse Address que o Reply-to pede.

T

Vamos aprender a ler o javadoc (que lhe passei como um link).

a) Olhe o javadoc - o parâmetro é um Address[] (javax.mail.Address)

b) Se você for curioso e seguir o link, vai ver que um Address é uma classe abstrata (então você não pode instanciá-la diretamente), então você tem de usar uma classe concreta. Mas o Javadoc diz:

Aí você segue o link de InternetAddress e vê que já conhece essa classe, porque você já a usou no seu programa.

Conclusão: você tem de passar um array de InternetAddress, tal como você faz com a rotina “setRecipients”.

Criado 27 de junho de 2007
Ultima resposta 27 de jun. de 2007
Respostas 5
Participantes 2