在Java中,通過程式發送QQ郵件時,報:javax.mail.AuthenticationFailedException
這是身份認證的錯誤,這個時候,需要從以下兩方面着手:
一、檢查QQ郵箱或者别的郵箱是否開通了pop3/smtp服務,這個錯誤是認證失敗,是以很有可能是沒有開通pop3/smtp服務,我在這裡犯了兩個錯誤,一是mail.password寫的是郵箱登入密碼,應該寫為開通pop3/smtp服務時的驗證碼;二是沒有開通pop3/smtp服務
final Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.qq.com");
//你自己的郵箱
props.put("mail.user", "[email protected]");
//你開啟pop3/smtp時的驗證碼
props.put("mail.password", "xxxxx");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.starttls.enable", "true");
二、在使用者名、密碼都沒有問題以及pop3/smtp服務也開通的情況下,還是報這個錯誤,先登入一下郵箱,測試是否能正常發送郵件。
有時候郵箱發送郵件過于頻繁,可能被網站認為是惡意軟體攻擊,這個時候就需要定期去他們的網站登入一下,處理一下
三、還要注意一點,配置的時候一定要有:mail.smtp.auth=true