Отправить письмо с помощью Gmail - PullRequest
0 голосов
/ 16 января 2019

Я больше не могу отправлять сообщения из учетной записи Gmail, используя Java Mail API. Я подозреваю, что некоторые изменения в безопасности виноваты.

У меня есть этот простой код:

public static void generateAndSendEmail() throws AddressException, MessagingException {

    // Step1
    System.out.println("\n 1st ===> setup Mail Server Properties..");
    mailServerProperties = System.getProperties();
    mailServerProperties.put("mail.smtp.port", "587");
    mailServerProperties.put("mail.smtp.auth", "true");
    mailServerProperties.put("mail.smtp.starttls.enable", "true");
    System.out.println("Mail Server Properties have been setup successfully..");

    // Step2
    System.out.println("\n\n 2nd ===> get Mail Session..");
    getMailSession = Session.getDefaultInstance(mailServerProperties, null);
    generateMailMessage = new MimeMessage(getMailSession);
    generateMailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("me@gmail.com"));

    generateMailMessage.setSubject("Greetings from Me..");
    String emailBody = "Test email using JavaMail API example.");
    generateMailMessage.setContent(emailBody, "text/html");
    System.out.println("Mail Session has been created successfully..");

    // Step3
    System.out.println("\n\n 3rd ===> Get Session and Send mail");
    Transport transport = getMailSession.getTransport("smtp");

    // Enter your correct gmail UserID and Password
    transport.connect("smtp.gmail.com", "my gmail username", "my password");
    transport.sendMessage(generateMailMessage, generateMailMessage.getAllRecipients());
    transport.close();
}

Я знаю, что вместо my gmail username и my password указаны правильные учетные данные, но все равно получаю исключение:

Exception in thread "main" javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:319)
at javax.mail.Service.connect(Service.java:169)
...

Я даже включил доступ для менее безопасных приложений, но все равно не помог.

...