web-dev-qa-db-ja.com

javax.mail.AuthenticationFailedException:535-5.7.8ユーザー名とパスワードが受け入れられない

JavaMail APIを使用してメールを送信しようとすると、このエラーが発生します。

javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted

どうすれば修正できますか?

5
Rohit Raj

アカウントでGmailアカウントにログオンします->

[セキュリティ]をクリックし、2段階認証プロセスをオフにして、[安全性の低いアプリへのアクセス]をオンにします

上記のことが原因である可能性があります。

1

安全性の低いアプリを許可する(オンにする必要があります)。

2. Gmailのユーザー名とパスワードを確認します。

 public static void main(String[] args) {

        final String username = "YourMailId";
        final String password = "password";

        Properties prop = new Properties();
        prop.put("mail.smtp.Host", "smtp.gmail.com");
        prop.put("mail.smtp.port", "587");
        prop.put("mail.smtp.auth", "true");
        prop.put("mail.smtp.starttls.enable", "true"); //TLS

        Session session = Session.getInstance(prop,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("[email protected]"));
            message.setRecipients(
                    Message.RecipientType.TO,
                    InternetAddress.parse("[email protected], [email protected]")
            );
            message.setSubject("Testing Gmail TLS");
            message.setText("Dear Mail Crawler,"
                    + "\n\n Please do not spam my email!");

            Transport.send(message);

            System.out.println("Done");

        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

}
1
tarun kumar143

手順に従ってください:

  1. ウイルス対策を無効にする
  2. 安全性の低いアプリを許可する
  3. 2段階認証はオフにする必要があります。
0
KP Developer

送信元メールIDのユーザー名とパスワードが一致しないため、このエラーが発生した可能性があります。パスワードとメールID(ユーザー名)を再確認してください。タイプミスかもしれません。

場合によっては、Gmailは、許可されていない外部アプリケーションまたはプログラムを介したログインを禁止します。また、GmailがJava Mail APIプログラムを介してアカウントにログインすることを妨げているかどうかを確認するために、Gmailアカウントにログインします。

何もうまくいかない場合は、他のSMTPサーバー(yahoo、yandexなど)を試すことができます。

0
Mathews Mathai