Почта Java, показывающая сбой аутентификации

#java #jakarta-mail

#java #Джакарта-почта

Вопрос:

Я использую java mail для отправки почты с сервера. Я использую приведенный ниже код, но получаю эту ошибку..

  Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException
    at mail.mailSSL.main(mailSSL.java:53)
 Caused by: javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:306)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    at mail.mailSSL.main(mailSSL.java:48)
 

Мой код:

 public class mailSSL {
    public static void main(String args[]){
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("raviteja.satyavda@gmail.com","raviteja@it");
                }
            });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("raviteja.satyavada@gmail.com"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("ravitejas89@gmail.com"));
            message.setSubject("SFTS MAIL TESING");
            message.setText("Dear Mail Crawler,"  
                    "nn No spam to my email, please!");

            Transport.send(message);

            System.out.println("Done");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}
 

Как я могу это решить?

Комментарии:

1. возможно, вы захотите отредактировать и заменить свой пароль на «*» в сообщении выше. Вы пробовали простой и понятный mail.smtp.user или mail.smtp.password?

Ответ №1:

Ваш класс отлично работал с моими учетными данными. У вас есть учетная запись Gmail? Когда я попробовал ваш (через код) Я получил следующее исключение:

 Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException: 535-5.7.1 Username and Password not accepted. Learn more at                   
535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 ib2sm1330072vdb.1
 

Ответ №2:

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