[cjtoolbox name=’JavaC’]

第3章 メールを送信してみよう

3.2 メールを送ってみよう

実行結果

フォルダ構造

サンプルコード
【ファイル名:application.properties(カリキュラム上から取得)】
【ファイル名:pom.xml】(追記)
[xml] <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> [/xml]
【ファイル名:sendMail.html】
[html] <!DOCTYPE html> <html> <head> <meta charset=”UTF-8″> <title>メールを送ってみよう</title> </head> <body> <p>メールを送信しました。</p> </body> </html> [/html]
【ファイル名:MailController.java】
[java] package jp.co.f1.spring.mail; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class MailController { @Autowired private MailSender mailSender; /* * 「/sendMail」へアクセスがあった場合 */ @GetMapping(“/sendMail”) public ModelAndView sendMail(ModelAndView mav) { SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(“test.sender@kanda-it-school-system.com”); msg.setTo(“test.receiver@kanda-it-school-system.com”); msg.setSubject(“テストメール”); msg.setText(“メール送信完了”);// Set Message mailSender.send(msg); mav.setViewName(“sendMail”); return mav; } } [/java]
アプリケーションにアクセス

以下のアドレスからアプリケーションにアクセスします。
URL:http://localhost:8080/sendMail

解説
【application.properties】

今回使用するSMTPサーバーを指定しています。

今回はスクールが用意しているサーバーを指定しています。実業務では現場で用意されたサーバー情報に合わせてサーバーの指定を行ってください。

ポート番号を指定します。ポート番号はアプリケーションを識別するための番号です。SMTPサーバーに接続する際には587番が使用されます。ここは詳細に理解する必要はないので『メール送信時に使うポート番号は587』程度の認識で大丈夫です。

これはサーバーにログインする際に使用するログイン情報を渡しています。
また、spring.mail.properties.mail.smtp.authをtrueにすることで、ログイン情報をSMTPサーバーに送信しています。

STARTTLSは通信を安全に行うための設定です。ここも詳細に理解する必要はないので、『通信情報を暗号化している』程度の認識で大丈夫です。

【MailController.java】
[java] // オブジェクト作成 SimpleMailMessage msg = new SimpleMailMessage(); [/java]

SimpleMailMessageクラスをオブジェクト作成しています。このクラスはメールメッセージをモデル化したクラスとなっています。このクラスのオブジェクトmsgを作成し、「送信元」「送信先」「件名」「本文」を格納していきましょう。

[java] // メール情報を格納したmsgオブジェクトをsendメソッドに渡す mailSender.send(msg); [/java]

メール情報が格納されたオブジェクトmsgをmailSenderクラスのsendメソッドに渡しています。sendメソッドはメール送信処理を実行してくれます。

アプリケーションにアクセスすると、『メールを送信しました。』と表示されます。メールの受信ができているか、確認してみましょう(カリキュラム上から手順を取得)。

NEXT>> 第4章 エラー実装をしてみよう