Prezados boa tarde.
Fazendo implementações no codigo de minha aplicação incluir a função de enviar e-mail mais, o e-mail não chega.
estou usando o JavaMail, o Spring e fiz o Tomcat é quem esta me dando a sessão, coloquei a propriedade de debugar para true então
noto que é feita a conexao com o servidor smtp e parece-me que a mensagem é enviada ( não ocorre erro algum ) mais, a msg não chega.
vou colocar algumas informações aqui caso alguem ja tenha passado por isto possa me dar uma dica…
No Tomcat alterei o server.xml colocando o recurso
<GlobalNamingResources>
<!-- JavaMail JNDI Mail Session -->
<Resource auth="Container"
description="Global E-Mail Resource"
mail.debug="true"
mail.smtp.auth="true"
mail.smtp.host="smtp.dominio.com.br"
mail.smtp.port="587"
mail.smtp.starttls.enable="false"
mail.smtp.user="usuario@dominio.com.br"
mail.transport.protocol="smtp"
name="mail/Session"
password="senha"
type="javax.mail.Session"
username="usuario@dominio.com.br"/>
Tambem no tomcat o context.xml
<Context>
<ResourceLink name="mail/Session"
global="mail/Session"
type="javax.mail.Session"/>
</Context>
Lendo a documentação do tomcat fiz estas configurações e adicionei o jar do JavaMail na pasta lib do tomcat
iniciei o tomcat e sem erros, agora a configuração do Spring
<context:component-scan base-package="br.com.dominio" />
<jee:jndi-lookup id="mailSession" jndi-name="mail/Session" />
<!-- Configurar e-mail -->
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="session" ref="mailSession" />
</bean>
e ao codigo do programa que faz o envio que neste momento é bem simples
@Service("emailServico")
public class EmailServico {
private Logger log = Logger.getLogger(EmailServico.class);
@Autowired
private JavaMailSender mailSender;
public boolean enviarEmail(final String message, final String subject, final String emailAddress) {
log.info("Enviando...");
MimeMessagePreparator preparator = new MimeMessagePreparator() {
@Override
public void prepare(MimeMessage mimeMessage) throws Exception {
mimeMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress(emailAddress));
mimeMessage.setFrom(new InternetAddress("forgiveMe@virtualforgiveness.com"));
mimeMessage.setText(message, "ISO-8859-1");
mimeMessage.setSubject(subject, "ISO-8859-1");
}
};
try {
this.mailSender.send(preparator);
} catch (Exception ex) {
ex.printStackTrace();
log.error(ex);
return false;
}
return true;
}
}
no log aparece o seguinte ( nenhum erro pelo que se perecebe ) mais o from: não tem o endereço que deveria ter
DATA
354 Enter mail, end with "." on a line by itself
Date: Tue, 19 Mar 2013 16:00:22 -0300 (GMT-03:00)
From: forgiveMe@virtualforgiveness.com
To: xxx@yahoo.com.br
Message-ID: <6059869.0.1363719622101.JavaMail.Robson@PRO-PC>
Subject: O assunto
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
mensagem de teste de envio
.
250 61344297 message accepted for delivery
QUIT
221 correio4.docasdoporto.com.br SMTP Server closing connection
?