Soy principiante en java y quiero enviar un correo electrónico en java, por que yo estoy usando este código en Java. Pero mi código es lanzar una excepción, y necesito un heads-up por qué…

Este es el seguimiento de la pila de excepción:

javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsNX
534-5.7.14 No6jJbDc4l7fZ_WLdBD0sNHIIp_nLvplRMm0bYFBnZBF_XOyVvNSdd1FenDZJPwBTFQyRH
534-5.7.14 lriPK3myMm-dXkW3zK0-6XpO7BzI8hfRcByG1k7YiVzXlddTvs7QhjtgCWNcrzMBuPhoof
534-5.7.14 GjME2TgYzXJVHz5MV98nRnr_kq-kP7RmgOtX3IQHLwM5E8QGBC9-2THVQr_Ch_U0-1nZsc
534-5.7.14 yoPuNEw> Please log in via your web browser and then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 wr6sm26888533wjc.24 - gsmtp

    at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:892)
    at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:814)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:728)
    at javax.mail.Service.connect(Service.java:364)
    at javax.mail.Service.connect(Service.java:245)
    at SendEmail.sendFromGMail(SendEmail.java:50)
    at SendEmail.main(SendEmail.java:18)
sent

Este es mi código

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
private static String USER_NAME = "me";
private static String PASSWORD = "xyz";
private static String RECIPIENT = "[email protected]";
public static void main(String[] args) {
String from = USER_NAME;
String pass = PASSWORD;
String[] to = { RECIPIENT };
String subject = "Java send mail example";
String body = "Welcome to JavaMail!";
sendFromGMail(from, pass, to, subject, body);
System.out.println("sent");
}
private static void sendFromGMail(String from, String pass, String[] to, String subject, String body) {
Properties props = System.getProperties();
String host = "smtp.gmail.com";
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", pass);
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
MimeMessage message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(from));
InternetAddress[] toAddress = new InternetAddress[to.length];
for( int i = 0; i < to.length; i++ ) {
toAddress[i] = new InternetAddress(to[i]);
}
for( int i = 0; i < toAddress.length; i++) {
message.addRecipient(Message.RecipientType.TO, toAddress[i]);
}
message.setSubject(subject);
message.setText(body);
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
}
catch (AddressException ae) {
ae.printStackTrace();
}
catch (MessagingException me) {
me.printStackTrace();
}
}
}
InformationsquelleAutor Mahira Khan | 2014-08-16

4 Comentarios

  1. 125

    Tuve el mismo problema! Google, que impide el acceso por menos aplicaciones de seguridad.

    Esto es cómo lo resolví:

    • muchas gracias por salvar mi tiempo
    • Ahora es una casilla de verificación y haga clic en «ACTIVAR». Por favor, actualice su respuesta.
    • Es extraño, sin embargo, Incluso esto no es trabajo para mí
    • Me gustaría poder upvote esta respuesta varias veces, muchas Gracias.
    • Muchas gracias su, trabajó para mí
    • Trabajó un placer!!
    • No trabajo para mí … alguna otra razón ?
    • Funciona. pero no es la forma más elegante de hacerlo. Porque lo deja a su cuenta de correo vulnerables como son poner en peligro la seguridad
    • Gracias…. Esto realmente funciona
    • Eres un genio!
    • Yo utilice el nuevo gmail api, usted no tiene que habilitar menos aplicaciones de seguridad: developers.google.com/gmail/api/quickstart/java
    • Muchas gracias. A mí me funcionó.
    • Para todos aquellos que este no funciona, espere unos 5 minutos. Me tomó algún tiempo.
    • Gracias, Tu solución es perfecto.!

  2. 87
    1. Asegúrese de Menos aplicaciones de seguridad es CONVERTIDO EN
      https://www.google.com/settings/security/lesssecureapps
      javax.correo.AuthenticationFailedException se produce mientras que el envío de correo electrónico en java
    2. Permitir a cada aplicación para enviar correo electrónico
      Ir a https://accounts.google.com/b/0/DisplayUnlockCaptcha
      y haga clic en Continuar.
      javax.correo.AuthenticationFailedException se produce mientras que el envío de correo electrónico en java

      javax.correo.AuthenticationFailedException se produce mientras que el envío de correo electrónico en java
    3. Este momento: puede utilizar la aplicación para enviar correo electrónico y todas las operaciones son permitidas.

    Más enlaces:

    https://support.google.com/accounts/answer/6010255
    https://productforums.google.com/forum/#!tema/gmail/9KCgzXY4G_c

    • Todavía no está trabajando, incluso después de ajustar menos seguridad …
    • Si usted sigue estos pasos correctamente, se debe trabajar. Si usted encuentra una solución mejor, por favor, edite esta respuesta o añadir un enlace a su respuesta.
    • gracias hermano, @biniam_Ethiopia funciona para mí. el amor que
    • Trabajando muy bien. Usted salvó mi tiempo. Gracias 🙂
    • Principales +1. La segunda DisplayUnlockCaptcha era necesario. Yo tenía tres servidores, dos de los cuales funcionaba bien después de lesssceureapps enlace, pero el tercero trabajado con DisplayUnlockCaptch. Gracias biniam_Ethiopa, tome mi voto.
    • Hace el truco para AWS EC2. Tengo la sospecha de desarrolladores de Google añadirá más banderas como que en el futuro para frenar los spammers. Típico de «corrección de errores» por un exceso de trabajo de desarrollador.
    • No funciona para mí. He cambiado a menos segura de la aplicación también.
    • Muchas gracias @biniam_Ethiopia !
    • Vi que una gran cantidad de puestos de mencionar el primer paso, pero el segundo enlace es lo que realmente funciona para mí…gracias.
    • Esto debe ser aceptado respuesta

  3. 1

    También soy de las que se enfrenta el mismo problema.

    Google no dará directa abrir el puerto de acceso.
    Si usted está utilizando su cuenta de google para el envío de correo por favor Activar la configuración haciendo clic en este enlace.
    google entra aquí : https://www.google.com/settings/security/lesssecureapps
    La mejor de las suertes esperanza de que esto funcionará para usted también.

  4. -2

    No es sólo acerca de la habilitación de los «menos seguro de aplicaciones de google de la página de administración.

    La revisión anterior no resuelve el problema, para mí. Me puso en contacto con google y me pidieron que me agregue par de registros TXT a mi lista de DNS. Usted necesitará un DKIM clave que usted necesita para generar a partir de la G Suite de administración de la configuración de gmail.

Dejar respuesta

Please enter your comment!
Please enter your name here