Java - JavaMail no se puede conectar con el servidor, tiempo de espera -1

 
Vista:

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Yorel Hernandez (7 intervenciones) el 06/05/2014 19:07:56
Buenos días amigos de este foro, espero me puedan ayudar con mi problema.

La cuestión es esta:

tengo un código en PHP para enviar correos electrónicos mediante smtp por la librería de PHPMAILER y funciona de maravilla.

este es mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = false;
$mail->SMTPSecure = false;
$mail->Host = "xxx.xxx.xxx.xxx";
$mail->Port = 25;
 
//Nos autenticamos con nuestras credenciales en el servidor de correo Gmail
$mail->Username = "yorelelguapo@gmail.com";
$mail->Password = 'password';
 
//Agregamos la información que el correo requiere
$mail->From = "yorelelguapo@gmail.com";
$mail->FromName = "hernandez, yoel";
$mail->Subject = "Enviar Mail con PHPMailer";
$mail->AltBody = "";
$mail->MsgHTML("<h1>Hola Mundo!</h1>");
$mail->AddAttachment("solicitudes/".$nombre_archivo);
$mail->AddAddress("yorelelguapo@gmail.com", "Usuario Prueba");
$mail->IsHTML(true);
 
//Enviamos el correo electrónico
//$mail->Send();
if(!$mail->Send()) {//finalmente enviamos el email

Pero ahora necesito hacerlo por java, estoy tratando de crear una clase en java, mediante el IDE Netbeans con la librería javamail para enviar correos electrónicos, he visto muchos ejemplos en Internet pero ninguno me ha funcionado, sin embargo
con php si, y el error que me sale es este:

com.sun.mail.util.MailConnectException: Couldn't connect to host, port: xxx.xxx.xxx.xxx, 25; timeout -1;
nested exception is:
java.net.SocketException: Permission denied: 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 javax.mail.Service.connect(Service.java:175)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at conexionDB.prueba.SendMail(prueba.java:85)
at conexionDB.prueba.main(prueba.java:30)

si alguien sabe como hacerlo se lo agradecería infinitamente gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 06/05/2014 23:22:33
Hola,
¿Podrías indicar a que servidor y a que puerto estás intentando acceder?
Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Yorel Hernandez (7 intervenciones) el 07/05/2014 16:11:11
El servidor es smtp.gmail.com y el puerto es 587 cuando estaba realizando las pruebas con PHP, una vez que vi que funcionaba correctamente lo hice con la dirección de mi servidor de correo smtp por el puerto 25 y funciono a la perfección, la cuestión es que con java lo hice igual primero ver si se puede hacer con el servidor smtp de gmail y su puerto 587 para hacerlo después con los parámetros de mi servidor de correo, he visto que algunos foros dicen que es problema de configuración del servidor, algún proxi o el firewall, sin embargo no cuento con un proxi, mi firewall esta deshabilitado y no cuento con acceso para modificar la configuración de mi servidor smtp, y es con PHP no tuve que hacer nada de eso, este es mi código de java.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {
    String host = "smtp.gmail.com";
    String from = "yorelelguapo@gmail.com";
    Properties props = System.getProperties();
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", "xxxxxxxxxxxxx");
    props.put("mail.smtp.port", "587");
    props.put("mail.smtp.auth", "false");
    props.put("mail.smtp.secure","false");
    try{
        Session session = Session.getDefaultInstance(props, null);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipients(Message.RecipientType.TO, "yorelelguapo@hotmail.com");
        message.setSubject("sending in a group");
        message.setText("Welcome to JavaMail");
        Transport transport = session.getTransport("smtp");
        transport.connect("smtp.gmail.com", "yorelelguapo@gmail.com", "xxxxxxxxxxxxx");//CAUSES EXCEPTION
        transport.sendMessage(message, message.getAllRecipients());
    }catch(MessagingException e){
        e.printStackTrace();
    }
}

Lo que me llama la atención es que con PHP tienes estas lineas.

1
2
3
$mail->IsSMTP();
$mail->SMTPAuth = false;
$mail->SMTPSecure = false;

Por lo que entiendo deshabilita la autenticación, y también deshabilita la seguridad de la conexión, si me pueden ayudar muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por toryas (4 intervenciones) el 07/05/2014 16:51:05
Hola,
hace muy poco yo también tuve problemas con javamail.
Te dejo un enlace con un proyecto de ejemplo el cual funciona muy bien

http://panamahitek.com/javamail-enviar-correos-electronicos-desde-java/

OJO!!!
Yo estaba utilizando maven para inyectar dependencias, y me agregaba la libreria geronimo-javamail-1.xxxxx . esta libreria no me funcionaba despues de muchos dolored de cabeza la solucion fue bajar manuelmente la libreria javamail.1.4.7.jar y crear un grupo nuevo, con esas libreria esto si funciona.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Yorel Hernandez (7 intervenciones) el 07/05/2014 18:42:46
Ya descargue el proyecto y lo abrí con netbeans así mismo baje de la página de oracle la librería javamail1.4.7 y atreves del IDE netbeans importe las librerías que contiene esa carpeta sin embargo sigue dándome ese mismo error, o tal vez no te entendí del todo, si me lo pudieras dejar más claro muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por toryas (4 intervenciones) el 07/05/2014 19:06:25
Modificaste el código del proyecto o solo implementaste la libreria y lo ejecutaste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Yorel Hernandez (7 intervenciones) el 07/05/2014 19:18:04
No no lo modifique, cree otro proyecto metí las clases en ese proyecto y ahí en ese proyecto importe las librerías que vienen en la carpeta que descomprimí del javamail1.4.7, en el proyecto vienen 3 clases JavaMAil.java, Login.java y Window.java, al correr la clase javamail.java, despliega una ventana donde te pide que introduzcas tu correo de gmail y tu contraseña para la autencticación después te abre la ventana en donde le colocas la dirección de correo destino así como el asunto y el mensaje en si al darle enviar, envía el mismo error que he tenido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por toryas (4 intervenciones) el 07/05/2014 21:27:31
no crees otro proyecto utiliza el mismo, integrale la libreria y ejecútalo y copia el error que te arroja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por Yorel Hernandez (7 intervenciones) el 07/05/2014 21:35:14
Ya lo hice, en el mismo proyecto que descargue agregue las librerias mail.jar, dns.jar, imap.jar, mailapi.jar, pop3.jar y smtp.jar, al ejecutarlo y colocar la dirección de correo destino y enviar el mail me arroja el siguiente error.

compile-single:
run-single:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;
nested exception is:
java.net.SocketException: Permission denied: connect
at javamail.Window.SendMail(Window.java:48)
at javamail.Window.jButtonEnviarActionPerformed(Window.java:189)
at javamail.Window.access$000(Window.java:13)
at javamail.Window$2.actionPerformed(Window.java:97)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;
nested exception is:
java.net.SocketException: Permission denied: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at javamail.Window.SendMail(Window.java:44)
... 39 more
Caused by: java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:321)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
... 46 more
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JavaMail no se puede conectar con el servidor, tiempo de espera -1

Publicado por toryas (4 intervenciones) el 08/05/2014 20:48:58
Mira aqui tienes el proyecto en netbeans con la libreria ya integrada es cosa de abrirlo en netbeans y echar a correr el archivo javamail.java. si te tira error nuevamente tienes problemas con tu conexion.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar