Olá a todos. Já procurei, não só nesse forum, algo parecido com o meu problema. Achei algumas coisas que ajudaram, mas não resolveu totalmente.
Estou com um problema para enviar 1 email através do JavaMail. Na verdade são 2 problemas: 1 é quando tento fazer isso usando JSP e outro é quando faço direto por um código java, como se fosse uma aplicação. Resolver o problema da aplicação, acho que já é o suficiente. O problema no código java é que não consigo fazer a autenticação. Como eu faço isso? Tentei pegar uns tutoriais na net, mas o que consegui foi o que está ai. Segue abaixo o código java:
Email.java
package teste;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class Email{
public Email() {
Properties prop = new Properties();
prop.put("mail.host", "smtp.mail.yahoo.com.br");
prop.put("mail.stmp.port", "587");
Authenticator auth = new testeAuth();
Session session = Session.getInstance(prop, auth);
MimeMessage msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress("fel_augusto@yahoo.com.br", "Felipe"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("fel_augusto@yahoo.com.br", "Augusto"));
msg.setSentDate(new Date());
msg.setSubject("Teste de envio de email com JavaMail");
msg.setText("Teste do que vai aparece no corpo do email");
Transport.send(msg);
} catch (Exception e) {
System.out.println("Erro: " + e);
}
}
public static void main(String[] args) {
new Email();
}
}
class testeAuth extends Authenticator{
public testeAuth(){
getPasswordAuthentication();
}
public PasswordAuthentication getPasswordAuthentication() {
String username, password;
username = "um nome que funciona";
password = "senha que também funciona";
return new PasswordAuthentication(username, password);
}
public static void main (String[] args){
new testeAuth();
}
}
PS: o username e o password estão funcionando, só troquei eles aqui no código.
O erro que da ao compilar esse código é:
Erro: com.sun.mail.smtp.SMTPSendFailedException: 530 authentication required - for help go to http://help.yahoo.com/help/us/mail/pop/pop-11.html
Se mudo o código para:
package teste;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class Email3{
public Email3() {
try {
Properties prop = new Properties();
prop.put("mail.host", "smtp.mail.yahoo.com.br");
prop.put("mail.port", "587");
//prop.setProperty("mail.stmp.auth","true");
//Authenticator auth = new testeAuth();
Session session = Session.getInstance(prop, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("fel_augusto@yahoo.com.br", "Felipe"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("fel_augusto@yahoo.com.br", "Augusto"));
msg.setSentDate(new Date());
msg.setSubject("Teste de envio de email com Java");
msg.setText("Teste do que vai aparece no email");
Transport transport = session.getTransport("smtp");
transport.connect("smtp.mail.yahoo.com.br", "login", "senha");
transport.sendMessage(msg, null);
} catch (Exception e) {
System.out.println("Erro: " + e);
}
}
public static void main(String[] args) {
new Email3();
}
}
o erro muda para “javaNullPointerException”.
Alguém pode me ajudar?
vlw a todos, flw, e t+
Felipe Augusto