目次
はじめに
こんにちは!
先日はUiPathのSharePoint連携をテーマに記事を書きましたが、処理中や処理後にUiPathからメールを送信したい!と感じる方もいらっしゃるのではないでしょうか。
そこで今回は、UiPathを用いて
- テンプレートのテキストファイルを読み込み
- テンプレートの可変部分に文章を埋め込んで
- メールを送信する
ための方法についてご紹介します
実際にやってみましょう!
今回の例では、「商品の注文を受けた時に送信するメール」を作成します。
① 【事前準備】メールテンプレートの作成
メールのテンプレートとなる文章を、テキストファイルとして作成します。
作成したファイルは、管理のしやすいお好みの場所に保存していただいて結構です。

上図の通り、宛先や商品名等、可変な文章を設定したい箇所は「{数字}」を設定します。この設定箇所のことを、「プレースホルダー」と呼びます。今回は「宛名」「商品名」「金額」の3箇所を可変にしたいので、{0}から{2}までの3つのプレースホルダーを、文章中に設定します。
プレースホルダーに埋め込む文章は後々の処理で設定しますので、ご安心ください!
② テンプレートファイルの読み込み
①で作成したテンプレートファイルをUiPathで読み込んでいきましょう!
アクティビティを検索し、「テキストをファイルから読み込み」アクティビティを追加します。

次に、読み込むファイルに①で作成したテキストファイルを選択します。

そして、アクティビティの「ファイル > エンコード」プロパティに「“Shift-JIS”」を設定します。
※ 作成したテキストファイルの文字コードと同じものを選択してください。


これで「template」変数に、①で作成したテンプレートの文章が格納された状態になりました。
※ この時点では、まだプレースホルダーの中身は設定されていませんのでご注意ください。
③ メールを送信する(「Outlookメールメッセージを送信」アクティビティを利用する方法)
UiPathでメールを送信する場合、「Outlookメールメッセージを送信」アクティビティを利用する方法が最も簡単です。このアクティビティでは、サーバー等の複雑な設定を行うことなく、メールを送信することが可能です。ただし、UiPathを実行するPCが、以下の条件を満たしている必要があります。
- Microsoft Outlook がインストールされていること
- Microsoft Outlook にアカウントが登録されていること
- Microsoft Outlook が実行されていること
この方法による大きなメリットは、サーバーやアカウントの情報をUiPathに設定する必要が無いことです。
Microsoft Outlook のアプリが管理しているサーバー情報、アカウント情報を使用してメールを送信するので、UiPathに情報を入力する手間も、パスワードをUiPathに持たせることによるセキュリティリスクも低減することが出来ます。
それでは、さっそく作ってみましょう!
アクティビティを検索し、「Outlookメールメッセージを送信」を追加します。

「宛先」と「件名」を設定します。
CCやBCCを設定したい場合は、プロパティの「受信者」から追加することが出来ます。

次に、メールの本文を設定します。テンプレートのプレースホルダーに文章を埋め込む必要があるため、ここで「String.Format関数」を使用します。
指定された形式に基づいてオブジェクトの値を文字列に変換し、別の文字列に挿入します。
引用元:https://docs.microsoft.com/ja-jp/dotnet/api/system.string.format?view=net-5.0
「本体」に以下の式を入力します。

ここでは、埋め込み先文章に②で読み込んで作成した「template」変数を、埋め込む文章に「電算 太郎」等の文字列を指定しています。この方法により、テンプレートの一部の箇所のみを可変にして文章を生成することが可能です。
以上で、UiPathの設定は完了です!
他のアカウントからメールを送信したい場合、以下の方法で送信元アカウントを変更することが可能です。
<操作手順>
① Microsoft Outlook を開き、「ファイル > アカウント設定 > アカウント設定」から、アカウント設定画面を開く。
② アカウント設定画面の「メール」タブから、送信元に設定したいアカウントの名前を確認する。
③ 「Outlookメールメッセージを送信」アクティビティのプロパティの「アカウント」に、②で確認したアカウントの名前を設定する。
④ 実行する
ここまで作成した処理を、実際に実行してみましょう!
※ 送信先のアドレスは適宜変更してお試しください。

テンプレートを基に文章を生成し、メールを送信することが出来ました!
【中級者向け】「SMTPメールメッセージを送信」アクティビティを利用する方法
上記の方法では、Microsoft Outlook のインストールや実行が必要となります。Microsoft Outlook を利用していない環境では使用できませんし、ライセンス等の管理が必要で、完全な自動化にはあまり向きません。また、Gmailのサーバーからメールを送信することもできません。
そこで、やや複雑にはなりますが「SMTPメールメッセージを送信」アクティビティを利用する方法も併せてご紹介いたします。
送信元にOutlookのアカウントを指定する場合
「Outlookメールメッセージを送信」アクティビティに替わり、「SMTPメールメッセージを送信」アクティビティを追加します。

「宛先」「件名」「本体」を設定します。ここまでは「Outlookメールメッセージを送信」アクティビティの方法と同じ手順です。

次に、「サーバー」「ポート」「パスワード」「メール」に以下の値を設定します。
項目名 | 値 | 説明 |
---|---|---|
サーバー | smtp.office365.com | 使用するメールサーバーホストです。 |
ポート | 587 | メールメッセージの送信経路に使用されるポートです。 |
パスワード | Outlookのパスワード | 送信に使用されるメールアカウントのパスワードです。 |
メール | Outlookのメールアドレス | 送信に使用されるメールアカウントです。 |

以上で設定は完了です!
ここではパスワードを「String」型で扱っていますが、パスワードを「String」型で扱うと、パスワードの漏洩など、セキュリティ的なリスクが高くなります。
セキュリティ的な要件が伴う場合、「UiPath Orchestratorのアセット機能」や「Windowsの資格情報マネージャー」でパスワードをセキュアに管理した上で、UiPathプログラムにおいても機密性の高い「Secure String」型でパスワードを扱うようにしてください!
送信元にGmailのアカウントを指定する場合
Gmailからメールを送信する場合も、Outlookのアカウントを指定する方法と基本は同じです。
ただし、Gmailの場合はGoogleアカウント側のセキュリティ設定を事前に変更する必要があります。
まず、Googleにサインインしている状態でGoogleアカウントのセキュリティ設定画面(https://myaccount.google.com/security) を開きます。
「Googleへのログイン」より、2段階認証を有効にします。
途中何度も確認コードの入力を要求されますが、挫けずに頑張ってください・・・!

2段階認証を有効にすると「アプリパスワード」という項目が出現しますので、設定します。

アプリの選択欄で「その他(名前を入力)」を選択し、名前に「UiPath」を設定します。その後、「生成」を押下します。

生成ボタンを押下すると、アプリパスワードが生成されます。このパスワードは一度しか表示されないため、ご注意ください。パスワードを控えたことを確認した後、「完了」を押下します。

以上でGoogleアカウント側の設定は完了です。
最後に「SMTPメールメッセージを送信」アクティビティのプロパティを設定します。「サーバー」「ポート」「パスワード」「メール」に以下の値を設定してください。
項目名 | 値 | 説明 |
---|---|---|
サーバー | smtp.gmail.com | 使用するメールサーバーホストです。 |
ポート | 465 | メールメッセージの送信経路に使用されるポートです。 |
パスワード | 生成したアプリパスワード | 先程の手順で生成したアプリパスワードです。 |
メール | Gmailのメールアドレス | 送信に使用されるメールアカウントです。 |
以上で設定は完了です!実行してみましょう。

無事、Gmailを使用してメールを送信することが出来ました。お疲れ様でした!
まとめ
今回はUiPathを使用してメールを送信する方法についてご紹介させていただきました。
「メールの送信」という処理が一つ出来るだけで、UiPathで実現できることの幅が大きく広がると思います。処理完了時の通知、エラー発生時の通知等、活用方法は無限大かと思われますので、ぜひお試しください!
当ブログでは、こういった解説記事を投稿しております。今後も様々な情報を更新予定ですので、よろしくお願いいたします!