ThymeleafをメールテンプレートにしてHTMLメールを送信する

★★★ お知らせ ★★★

◆ エンジニア業務環境アンケート結果 ◆
エンジニアが自分の働き方にどういったことで満足していて、不満を感じているのか、働きたい会社像として何を求めているのか、業務環境調査を実施しました。ぜひご覧ください。
アンケート結果はこちらから

こんにちは。サイオステクノロジーの木村です。
Spring Bootでよく使われるテンプレートエンジン「Thymeleaf」を、今回はメールテンプレートとして利用し、HTMLメールを送信する方法についてご紹介いたします。

pom.xmlへの追記

Spring Boot のmail,thymeleafを使用するため、依存性を追記します。

設定ファイル(application.properties)の設定

テンプレートファイル

Thymeleafにてテンプレートを作成します。
リソースフォルダ配下に /resources/mailtemplate/samplemail.html というファイル名で作成します。

実装

<メール送信サービスクラス>
メール送信を行うためのサービスクラスを作成します。

・sendMailメソッド
SimpleMailMessageですとテキストメールしか送信できないため、MimeMessageを使用します。

・getMailBodyメソッド
Thymeleafのテンプレートを使用してメールの本文を作成しています。
templateNameには、Thymeleafで作成したテンプレートファイルの名称を指定します。

<メインクラス>

Contextに出力内容を設定し、メール送信サービスクラスのメールを送信するメソッドを呼び出してメール送信します。

<その他クラス>
Listで商品情報をもたせて、th:eachで繰り返し処理をして出力するといったようなサンプルにしているので、商品情報を格納するような以下のクラスを作成しました。

動作確認

上記で作成したアプリケーションを実行すると、以下のようなHTMLメールが送信されます。
メール





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

5人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる