2017-01-07 94 views
0

我有一個春季啓動應用程序,當我運行我可以成功發送電子郵件,但是當我部署它在我的AWS服務器上的戰爭,它突然不能發送電子郵件,並引發錯誤:部署到戰爭的春季啓動不會發送谷歌電子郵件

org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsv 
534-5.7.14 GyjozMVw6yK71QY1-533Cq9j3pFvZ4Qk6tvNi8jraY2Qr1olGNIenIvjiHO8PYS2clGWG_ 
534-5.7.14 AKcP6Ny-ZwLVxAyKeqgAnOqFPC-fC2Ha4fZuHlbiWsi8wYfeQzgoSjzBowz9R4uYWPocKY 
534-5.7.14 yY7pG1k4O7ukaHccwVpLm8ypHX_MuWoiYbKFE6bSG5ht7Jps1MoPoWpE21oDtiu0udijNz 
534-5.7.14 zwKkTw01RQUyNDlkJkjHWqkGQW1GM> Please log in via your web browser and 
534-5.7.14 then try again. 
534-5.7.14 Learn more at 
534 5.7.14 https://support.google.com/mail/answer/78754 s20sm9437528wmb.9 - gsmtp 

代碼:

@Value("${spring.mail.username}") 
private String recipient; 

@Autowired 
private JavaMailSender javaMailSender; 

public SimpleStatusObject sendEmail(SimpleEmail simpleEmail) throws MessagingException, UnsupportedEncodingException { 
    MimeMessage message = javaMailSender.createMimeMessage(); 
    MimeMessageHelper helper = new MimeMessageHelper(message); 

    helper.setTo(recipient); 
    helper.setFrom("MOJA_STRONA"); 
    helper.setReplyTo(simpleEmail.getSenderEmail(), simpleEmail.getSenderName()); 
    helper.setSubject(simpleEmail.getSubject()); 
    helper.setText(simpleEmail.getMessage()); 

    javaMailSender.send(message); 
    return new SimpleStatusObject(Status.SUCCESS, "message sent"); 
} 

性能

spring.mail.host = smtp.gmail.com 
[email protected]ail.com 
spring.mail.password=mypass 
spring.mail.properties.mail.smtp.auth = true 
spring.mail.properties.mail.smtp.socketFactory.port = 465 
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory 
spring.mail.properties.mail.smtp.socketFactory.fallback = false 

憑據是奧卡我和我在我的帳戶設置中啓用了安全性較低的應用程序。我不知道這是什麼問題。

回答

0

我找到了解決方案。問題不在春天。僅僅有時「允許訪問安全性較低的應用程序」是不夠的。

下面是一些谷歌可能不允許訪問的更多信息。 https://support.google.com/accounts/answer/6009563

首先提示是:

  1. 去: https://g.co/allowaccess
  2. 允許來自不同設備登錄。
  3. 使用不同的設備登錄。

這對我的情況有幫助。

所有學分到: https://serverfault.com/questions/635139/how-to-fix-send-mail-authorization-failed-534-5-7-14