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

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【3/22開催】テックブログを書こう!アウトプットのススメ
1年で100本ブログを出した新米エンジニアがPV数が伸びなくてもTech Blogを書き続ける理由とは?
https://tech-lab.connpass.com/event/312805/

【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは。サイオステクノロジーの木村です。
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メールが送信されます。
メール

アバター画像
About 木村 29 Articles
Azureなどのクラウドでの稼働を主としたアプリケーション開発を行なっています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

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

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


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



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

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる