Spring Boot DB連携

Spring BootのWEB画面上に非同期処理によるメール送信処理を追加してみた(完成イメージと前提条件)

今回は、Spring BootのWEB画面上で、ユーザーを追加・変更したタイミングで非同期でメール送信を行う処理を追加してみたので、そのサンプルプログラムを共有する。

メール送信には一定時間かかるが、それを非同期処理で実行することによって、メール送信が終わる前に、次画面に遷移することが可能となる。

非同期処理については、以下のサイトを参照のこと。
https://www.rworks.jp/system/system-column/sys-entry/21730/

なお、今回のサンプルプログラムは長くなるため、前提条件と完成したサンプルプログラムの画面イメージのみ記載し、ソースコードの内容は次回の記事で記載する。



前提条件

下記記事の実装が完了していること。

Spring Bootの設定ファイルをapplication.propertiesからapplication.ymlに変更してみたこれまで、Spring Bootの設定ファイルとして「application.properties」を利用してきたが、YAML形式の設定...

また、下記「gmailからのメール送信を可能にする設定」が実施済であること。

gmailからのメール送信を可能にする設定

今回は、Gmailからメール送信できるようにするため、今回のサンプルプログラムを実行する時間のみ、Googleアカウントの「安全性の低いアプリと Google アカウント」をオンにする。その手順は以下の通り。

1) 下記URLから、googleアカウントにログイン
https://myaccount.google.com/intro

2) 「セキュリティ」メニューをクリックし、「安全性の低いアプリのアクセス」の「アクセスを有効にする(非推奨)」を選択する
gmail設定変更2

3) 下図赤枠のトグルを右に移動し、「安全性の低いアプリの許可」を「有効」にする
gmail設定変更3

4) 下図のように、「安全性の低いアプリのアクセス」が「オン」になっていることを確認する
gmail設定変更4



完成した画面イメージの共有

1) Spring Bootアプリケーションを起動し、「http:// (ホスト名):(ポート番号)」とアクセスした場合の初期表示は以下の通りなので、そのまま「検索」ボタンを押下
サンプルプログラムの実行結果1

2) 名前「テスト プリン2」の「更新」リンクを押下
サンプルプログラムの実行結果2

3) 入力内容を変更し、「確認」ボタンを押下
サンプルプログラムの実行結果3

4) 「送信」ボタンを押下
サンプルプログラムの実行結果4

5) すると、メール送信が終わる前に、完了画面に遷移
サンプルプログラムの実行結果5

6) 一定時間後に、下記メールが送信されることが確認できる
サンプルプログラムの実行結果6

7) 初期表示画面に戻った後で、「検索」ボタンを押下
サンプルプログラムの実行結果7

8) 「データ追加」ボタンを押下
サンプルプログラムの実行結果8

9) 内容を入力し、「確認」ボタンを押下
サンプルプログラムの実行結果9

10) 「送信」ボタンを押下
サンプルプログラムの実行結果10

11) すると、メール送信が終わる前に、完了画面に遷移
サンプルプログラムの実行結果11

12) 一定時間後に、下記メールが送信されることが確認できる
サンプルプログラムの実行結果12