Alguém tem alguma rotina pronta de como enviar e-mail em java,para o servidor do yahoo,gmail ou hotmail?
Tem este tutorial aqui do guj
http://www.guj.com.br/java.tutorial.artigo.21.1.guj da uma olhada e bom proveito
O artigo é bastante bom e completo.
Mas já tem uma API que esconde os detalhezinhos feios do JavaMail:
http://jakarta.apache.org/commons/email
Estou tentando disparar um email utilizando o javamail, mas esta dando o seguinte erro:
com.sun.mail.smtp.SMTPSendFailedException: 554 refused mailfrom because return MX does not exist
Qual o ambiente em que seu aplicativo java está inserido? SE ou EE?
Se for EE, é mais simples, não precisa usar nenhuma biblioteca terceira. Basta injetar um @Resource e ter os dados da conta de email propriamente dito.
Abraço,
Estou utilizanto em uma aplicação swing, usando o netbeans 7
Amigos,
antes de mais nada, me desculpem por ressuscitar esse tópico (mais uma vez), mas há uns três dias, quebro a cabeça com envio de emails com Seam.
Tem jeito de alguém postar um exemplo de como resolver isso? Estou tentando aqui e, por mais que eu esperneie, fico sempre tomando o erro "Could not connect to SMTP host: localhost, port: 25". Não sei onde, diabos, está configurada a tal porta 25, já que a estou alterando, no mail-service.xml, para a 465. Estou usando JBoss 4.2.3 e este é meu mail-service.xml:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mail.MailService" name="jboss:service=Mail">
<attribute name="JNDIName">java:/Mail</attribute>
<attribute name="User">meuemail@gmail.com</attribute>
<attribute name="Password">minhasenha</attribute>
<attribute name="Configuration">
<configuration>
<property name="mail.smtp.auth" value="true" />
<property name="mail.smtp.starttls.enable" value="true" />
<property name="mail.smtp.socketFactory.class" value="javax.net.ssl.SSLSocketFactory" />
<!-- Change to your mail server prototocol -->
<property name="mail.store.protocol" value="pop3" />
<property name="mail.transport.protocol" value="smtp" />
<!-- Change to the user who will receive mail -->
<property name="mail.user" value="nobody" />
<!-- Change to the SMTP gateway server -->
<property name="mail.smtp.host" value="smtp.gmail.com" />
<!-- The mail server port -->
<property name="mail.smtp.port" value="465" />
<!-- Change to the address mail will be from -->
<property name="mail.from" value="meuemailDeRemetente" />
<!-- Enable debugging output from the javamail classes -->
<property name="mail.debug" value="false" />
<property name="mail.smtp.user" value="meuUsuarioGmail" />
<property name="mail.smtp.password" value="minhaSenhaGmail" />
<property name="mail.smtp.ssl.enable" value="true" />
</configuration>
</attribute>
<depends>jboss:service=Naming</depends>
</mbean>
</server>
Este é meu código java que dispara o e1/2 :
public boolean enviarEmail() throws InfraEstruturaException {
try {
System.out.println(mailSession);
renderer.render("/emailModelo_lembreteDeSenha.xhtml");
facesMessages.add(FacesMessage.SEVERITY_INFO, "NÃO É QUE DEU CERTO?");
return true;
} catch (Exception e) {
System.out.println("Email falhou: " + e.getMessage());
facesMessages.add(FacesMessage.SEVERITY_INFO, "Email falhou: " + e.getMessage());
return false;
}
}
Estou esquecendo de configurar alguma coisa?
Agradeço antecipadamente qualquer ajuda.
Abraço a todos
Giovanni