mail enviar ejemplo desde correo authenticationfailedexception autenticar java smtp javamail

enviar - ¿Por qué JavaMail no se está autenticando?



javax mail (2)

Pruebe props.put("mail.debug", "true"); para la posible información de depuración que le dará más información.

Además, si se trata de un cuadro de Windows, busque firewall o antivirus en ejecución: http://forums.sun.com/thread.jspa?threadID=590866

Descubrimos hoy que para dos de nuestros clientes, JavaMail no está autenticando y, por lo tanto, nuestro producto no puede enviar correos electrónicos. Hemos estado enviando correos electrónicos a través de nuestro propio servidor durante años, así como para varios otros clientes, y pensamos que estábamos usando autenticación para todos ellos.

El código procede de la siguiente manera:

transport = session.getTransport("smtp"); transport.connect(hostName, port, user, password);

De acuerdo con la documentación aquí , JavaMail debería usar autenticación si usamos esta forma del método connect (). No estamos estableciendo ninguna propiedad, pero si estoy leyendo esa página correctamente, no es necesario.

Estamos utilizando mail.jar de JBoss 4.2.1.GA.

¿Qué tenemos que hacer de manera diferente?

Actualización : si utilizo el otro método en esa página de documentación (estableciendo la propiedad mail.smtp.auth y proporcionando un Authenticator), la autenticación finalmente funciona. Pero, ¿qué estábamos haciendo mal con este método?


Finalmente descubrí que estaba llamando:

transport.send(message, message.getAllRecipients());

, que es un método estático, en lugar de:

transport.sendMessage(message, message.getAllRecipients());

Creo que esta es la razón por la cual no fue autenticada, así que creo que esta es la verdadera respuesta. Hubiera ayudado si hubiera publicado ese código, pero no tenía idea de dónde estaba el problema. No puedo entender por qué Transport.send () es un método estático, pero si lo sabe, por favor dígame .