SpringBootを使用したWEBアプリケーションにメール送信機能を実装したいのですがうまくいきません。
現状、サイト(http://ksby.hatenablog.com/entry/2015/05/05/211711)を参考にしているのですが、SocketExceptionが出てしまいます。
お分かりになる方がいましたら、アドバイスをよろしくお願い致します。
■エラー内容
lang
1 com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1
■application.properties
lang
1spring.mail.host = localhost 2spring.mail.port = 25
■サービスクラス
lang
1@Service 2public class MyService { 3 4 @Autowired 5 private EmailService emailService; 6 7 private void sendMail(ModalSaveForm form){ 8 9 MailsendForm mailsendForm = new MailsendForm(); 10 mailsendForm.setFrom("hoge@jpge.com"); 11 mailsendForm.setTo("fuga@gmail.com"); 12 mailsendForm.setSubject("Test!!"); 13 14 // メールを送信する 15 SimpleMailMessage mailMessage = MAIL001MailBuilder.build() 16 .setForm(mailsendForm) 17 .create(); 18 emailService.sendSimpleMail(mailMessage); 19 } 20}
■メール送信クラス
lang
1@Service 2public class EmailService { 3 4 @Autowired 5 private MailSender mailSender; 6 7 public void sendSimpleMail(SimpleMailMessage mailMessage) { 8 mailSender.send(mailMessage); 9 } 10 11}
■メールオブジェクト作成クラス
lang
1public class MAIL001MailBuilder { 2 3 private MailsendForm mailsendForm; 4 5 public static MAIL001MailBuilder build() { 6 return new MAIL001MailBuilder(); 7 } 8 9 public MAIL001MailBuilder setForm(MailsendForm mailsendForm) { 10 this.mailsendForm = mailsendForm; 11 return this; 12 } 13 14 public SimpleMailMessage create() { 15 SimpleMailMessage mailMessage = new SimpleMailMessage(); 16 mailMessage.setFrom(mailsendForm.getFrom()); 17 mailMessage.setTo(mailsendForm.getTo()); 18 mailMessage.setSubject(mailsendForm.getSubject()); 19 20 mailMessage.setText("text"); 21 22 return mailMessage; 23 } 24}
■メール用フォーム(セッター、ゲッターは割愛)
lang
1public class MailsendForm { 2 private String from; 3 private String to; 4 private String subject; 5}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。