2017-04-23 19 views
1

gmail smtpサーバーと春のメール送信者を使用して電子メールを送信したい場合、例外はスローされませんが、メールは送信されません。ここでJAVA SpringメールのGmailによる送信

は、サービスがどのように見えるかです:私はポート8080で私のアプリを展開し、ちょうどこれら2つのパラメータを使用してこのサービスを呼び出す

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-mail</artifactId> 
</dependency> 

@Service 
public class MailSenderService { 

    @Autowired 
    public MailSender mailSender; 

    public void prepareAndSend(String recipient, String message) { 
     try { 

      SimpleMailMessage mail = new SimpleMailMessage(); 
      String from = "[email protected]"; 
      String to = "[email protected]"; 
      String subject = "Test subject"; 
      mail.setFrom(from); 
      mail.setTo(recipient); 
      mail.setSubject(subject); 
      mail.setText(message); 
      mailSender.send(mail); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

AppProperties

spring.mail.host = smtp.gmail.com 
spring.mail.username = ********@gmail.com 
spring.mail.password = ******** 
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 
spring.mail.properties.mail.smtp.ssl.enable = true 

そしてポンポン依存性例外は検出されませんが、私のtestRecipient1の受信トレイには私は新しいメールが見つかりませんwh私は逃したのですか?

+0

あなたがあなたの送信者の電子メールアカウントを設定しました[ここに述べたように安全性の低いアプリの許可](のhttp:// stackoverflow.com/a/32457468/205233)? – Filburt

+0

これをチェックしましたか?[春の起動 - SMTPホストに接続できませんでした:smtp.gmail.com、ポート:25、応答:421](http://stackoverflow.com/questions/28064904/spring-boot-could-not -connect-to-smtp-host-smtp-gmail-com-port-25-response)。役に立つかもしれない。 –

+0

さて、エラーのためにロガーを使用し、printStackTrace()メソッドを使用しないでください。デバッグしましたか?あなたがしなかった場合、どのようにすべてが順調であることを述べることができますか? – JeanValjean

答えて

0

私のコードを試すよりも、あなたのWebアプリケーションでSSL証明書を使用しなかった場合は、春のブート、テキストメール、HTMLメールの両方が完璧に動作します。

@Autowired 
private JavaMailSender mailSender; 

@RequestMapping(value="/ShareVecancy",method=RequestMethod.GET) 
public ModelAndView sendEmailToReference(HttpServletRequest request,HttpSession session){ 

    try { 

      MimeMessage mail = mailSender.createMimeMessage(); 
      MimeMessageHelper messageHelper = new MimeMessageHelper(mail, true); 
      messageHelper.setTo("[email protected]"); 
      messageHelper.setSubject("Testing mail"); 
      messageHelper.setText("HTML Text or Any text You want to send ", true); 
      mailSender.send(mail); 

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


} 

プロパティファイル:::

spring.mail.host=smtp.gmail.com 
spring.mail.port=587 
[email protected] 
spring.mail.password=******* 
spring.mail.protocol=smtp 
spring.mail.properties.mail.smtp.starttls.enable=true 
spring.mail.default-encoding=UTF-8 

依存関係::

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-mail</artifactId> 
    </dependency> 
関連する問題