Pessoal, estou a vários dias pesquisando pra fazer um código pra enviar email usando o gmail. Mas nada está funcionando.
Quero fazer uma aplicação simples mesmo, apenas executando o main e enviando o email.
Se alguém puder ajudar, agradeço.
segue o código que fiz baseado no tutorial do Paulo silveira
[url]http://www.guj.com.br/articles/21[/url]
package br.com.email.classes;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.commons.mail.EmailException;
public class EnviaEmail {
public static void main(String[] args) throws EmailException {
EnviaEmail enviaEmail = new EnviaEmail();
enviaEmail.sendEmail();
}
public void sendEmail(){
Properties p = new Properties();
p.put("mail.host", "smtp.gmail.com");
p.put("mail.stmp.port", "587");
Authenticator auth = new TesteAuth();
Session session = Session.getInstance(p, auth);
MimeMessage msg = new MimeMessage(session);
try {
// "de" e "para"!!
msg.setFrom(new InternetAddress("[email removido]"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));
// nao esqueca da data!
// ou ira 31/12/1969 !!!
msg.setSentDate(new Date());
msg.setSubject("Teste envio de email em Java");
msg.setText("Teste envio de email em Java");
// evniando mensagem (tentando)
Transport.send(msg);
}
catch (AddressException e) {
e.printStackTrace();
}
catch (MessagingException e) {
e.printStackTrace();
}
}
class TesteAuth extends Authenticator{
public TesteAuth(){
getPasswordAuthentication();
}
public PasswordAuthentication getPasswordAuthentication() {
String username, password;
username = "meu_usuario_no_gmail";
password = "minha_senha";
return new PasswordAuthentication(username, password);
}
}
}
MimeMessage msg = new MimeMessage(session);
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at br.com.email.classes.EnviaEmail.sendEmail(EnviaEmail.java:45)
at br.com.email.classes.EnviaEmail.main(EnviaEmail.java:24)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
... 8 more
