使用javamail在java中发送邮件时出错?

时间:2015-03-16 23:43:43

标签: java javamail

我想使用javamail,所以我测试了这段代码

public class Test_Mail {
public static void main(String [] args)
 {    
 String to="xyz@gmail.com";//change accordingly  

//Get the session object  
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("abc@gmail.com","*****");  
 }  
});  

//compose message  
try {  
MimeMessage message = new MimeMessage(session);  
message.setFrom(new InternetAddress("abc@gmail.com"));//change accordingly  
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));  
message.setSubject("Hello");  
message.setText("Testing.......");  

//send message  
Transport.send(message);  

System.out.println("message sent successfully");  

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

}  
}

但我有这个错误:

线程中的异常" main" java.lang.RuntimeException:javax.mail.AuthenticationFailedException:534-5.7.14请通过您的网络浏览器登录 534-5.7.14然后再试一次。 534-5.7.14了解更多信息 534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 gj16sm129363wic.24 - gsmtp

我尝试了很多改动,但它也是同样的错误。

1 个答案:

答案 0 :(得分:0)

由于Google是垃圾邮件的大目标,因此他们制定了相应的政策和做法,以尽量避免使用垃圾邮件。您的帐户似乎已被其中一个政策标记,并需要一些人工干预才能让它再次运作。