Pessoal, boa tarde.
Estou com problemas para enviar email utilizando o java.mail.
Segue o codigo da classe para enviar e da classe teste;
[code]
import java.util.Properties;
import javax.activation.CommandMap;
import javax.activation.MailcapCommandMap;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class EnviarEmail {
private String host = "smtp.mail.yahoo.com.br"; /* endereço do servidor smtp */
public class SMTPAuthenticator extends Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
String username = "caxxxxxxxxxxxxxx@yahoo.com.br";
String password = "xxxxxxxxx";
return new PasswordAuthentication(username, password);
}
}
public void EnviarEmailPara(String para, String assunto, String mensagem)
throws Exception {
String from = "caxxxxxxxxxxxxxxx@yahoo.com.br";
String fileAttachment = "";
Properties mailProps = System.getProperties();
mailProps.put("mail.smtp.host", this.host);
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(mailProps, auth);
mailProps.put("mail.smtp.auth", "true");
mailProps.put("mail.debug", "true");
mailProps.put("mail.smtp.debug", "true");
mailProps.put("mail.mime.charset", "ISO-8859-1");
mailProps.put("mail.smtp.port", "587");
MailcapCommandMap mc = (MailcapCommandMap) CommandMap
.getDefaultCommandMap();
mc
.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
mc
.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
mc
.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
mc
.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
mc
.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
CommandMap.setDefaultCommandMap(mc);
// Definir mensagem
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(para));
message.setSubject(assunto);
// Criar parte da mensagem
MimeBodyPart messageBodyPart = new MimeBodyPart();
// Texto da mensagem
messageBodyPart.setText(mensagem);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Enviar parte da mensagem
message.setContent(multipart);
message.setContent(mensagem.toString(), "text/html");
// Enviar toda a mensagemSend the message
Transport.send(message);
}
}[/code]
public class testaEnvia {
public static void main(String[] args) {
EnviarEmail enviarEmail = new EnviarEmail();
try {
enviarEmail.EnviarEmailPara("caxxxxxx@hotmail.com", "teste", "testando aplicativo");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
o erro que dá, é este:
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319 )
at javax.mail.Service.connect(Service.java:169 )
at javax.mail.Service.connect(Service.java:118 )
at javax.mail.Transport.send0(Transport.java:188 )
at javax.mail.Transport.send(Transport.java:118 )
at be.com.camilo.jdbc.comunicacao.EnviarEmail.EnviarEmailPara(EnviarEmail.java:84)
at be.com.camilo.jdbc.comunicacao.testaEnvia.main(testaEnvia.java:7)
Ja mudei o email de destino pra yahoo, etc e sempre da o mesmo erro.
Ja nao sei mais oq fazer…
Por favor, me ajudem.
valew