recuperar para mensajes enviar electronicos desde correos correo contraseña autenticar archivo adjunto java web-applications website javamail registration

para - javamail enviar correos electronicos desde java



MailConnectException al enviar correo usando java mail api (3)

Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); props.put("mail.smtp.port", "587"); transport.send(message);

Intentando enviar un correo electrónico usando java mail api. Y sigo recibiendo MailConnectException. He intentado varias formas de resolverlo sin éxito.

La excepción es arrojada por esta declaración

transport.connect("smtp.gmail.com", "[email protected]", "myPassword");

¿Alguien puede decirme lo que estoy haciendo mal?

public static void main(String[] args) { String host = "smtp.gmail.com"; String from = "[email protected]"; Properties props = System.getProperties(); props.put("mail.smtp.host", host); props.put("mail.smtp.user", from); props.put("mail.smtp.password", "myPassword"); props.put("mail.smtp.port", "465"); props.put("mail.smtp.auth", "true"); try{ Session session = Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.addRecipients(Message.RecipientType.TO, "[email protected]"); message.setSubject("sending in a group"); message.setText("Welcome to JavaMail"); Transport transport = session.getTransport("smtp"); transport.connect("smtp.gmail.com", "[email protected]", "myPassword");//CAUSES EXCEPTION transport.sendMessage(message, message.getAllRecipients()); }catch(MessagingException e){ e.printStackTrace(); } }

Stack trace:

com.sun.mail.util.MailConnectException: Couldn''t connect to host, port: smtp.gmail.com, 465; timeout -1; nested exception is: java.net.ConnectException: Connection timed out: connect at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1984) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:656) at javax.mail.Service.connect(Service.java:345) at javax.mail.Service.connect(Service.java:226) at com.karmacrafts.util.CustomEmail.main(CustomEmail.java:127) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:301) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:229) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1950) ... 4 more


Encontré el mismo problema, y ​​la razón es que abrí un vpn. Esperamos que esto sea útil.


Esto parece un problema de red. Aunque podría ocurrir debido a una variedad de razones, como:

"No se pudo conectar al host, puerto" podría ser causado por un nombre de host incorrecto, un puerto incorrecto, un firewall de bloqueo (en el servidor, en las puertas de enlace, incluso en su propia máquina), fallas de la red , tiempo de inactividad del servidor, etc.

¿Puedes conectarte al servidor de correo usando telnet?

También vea estas preguntas frecuentes para algunos errores que cometió http://www.oracle.com/technetwork/java/javamail/faq/index.html#commonmistakes

Lea esta respuesta sobre cómo enviar correos electrónicos usando gmail https://.com/a/47452/3107043