RPA UiPathで、Excelからメール一斉送信する

5562

メールを一斉に送りたいときにもRPA を使うこともできます 。
RPA ツール UiPathでメール一括送信する方法をまとめてみました。

Screenshot_11

メールを一斉送信する方法

メールを一斉送信する方法として、最も確実なのはメール配信システムを使うことです。
無料のものもありますが、私は有料のオートビズを使っています。

メルマガ配信、セミナー運営に便利! Webサービス「オートビズ」 | EX-IT

メールを一斉送信してもスパム扱いされないような工夫がされているらしく、到達したかどうかというのもわかるのが特徴です。
ただし初期費用7,560円がかかり月々の費用がかかるのがデメリットといえます。

ときどきや1回限り、メールを一斉送信したいという場合には無料の範囲で何かしらの工夫が必要です。
メール一斉送信は Excelマクロでやる場合や GAS (Google Apps Script) でやる場合がありますが、今回RPAを使う方法を取り上げます。

Excelデータ→請求書→PDF→メール添付一括送信マクロ | EX-IT

 

RPA UiPathでメール一斉送信する流れ

RPA でメールを一括一斉送信する流れは次のとおりです。

Excelでメール(アドレス)、宛先といった情報を準備しましょう。

image
その他、会社名、肩書や固有の情報があれば、それもメールに反映することができます。

メール本文はテキストファイルで準備しておいたほうが楽です。

image
このテキストファイルを読み込んでからメールを送るようにします。

送るには、メールのサーバーの情報が必要です。
・送信(SMTP)サーバー名
・ボート
・メールアドレス
・パスワード
などを整理しておきましょう。

RPA では
1 Excel からデータを読み込む
2 テキストファイルからデータを読み込む
3 登録したメールサーバーの情報によってメールを送る
という処理をやります。
このうち、3を繰り返しやることで、1で読み込んだデータすべてに、2のメールを送ることができるのです。
1で読み込んだデータ、たとえば宛先を、メール本文に入れることもできます。

データがいくつあってもその繰り返しを確実にやってくれるわけです。
ただ 、RPA でやる場合は、1000や2000のメールを送ってしまうとスパム扱いされる可能性がありますので、そこは自分で注意して分割して配信するなどの工夫が必要でしょう。
(Excelデータのほうでコントロールします)

また、通常ではどのメールが届いたかというのが確認できません。
メールアドレスを登録していただいて、そのメールアドレスに送るという場合、もしそのメールアドレスが間違っていたら届かないことになります。
そしてその届いていないことが、ぱっと見わからないのがデメリットといえばデメリットです。
それでも気軽に一括送信できるメリットはあります。

 

UiPathでメール一斉送信

UiPathでメール一斉送信するには次のようなプログラムをつくります。

RPA ツール UiPathについては こちらの記事を参考にしてみてください 。

RPAツールUiPathが日本語化。UiPath再入門「ネットバンクにログインして明細を表示」 | EX-IT

 

全体像を[シーケンス]アクティビティでつくるとわかりやすいでしょう。
(アクティビティとは、プログラムのパーツで、ドラッグして組み合わせることができます)

image

Excelから読み込む、テキストから読み込む、メールを送るという名前を入れていきます。
(プログラムの実行には関係なく、見やすくするためです)

image

Excelから読み込む

Excel から読み込むアクティビティは [Excel Application Scope](Excelアプリケーションスコープ)です。
(UiPathは日本語化したのですが、最近のアップデートで今はなぜかExcel系だけ英語です)

これを入れて該当ファイルを指定しましょう。

image
その後に[Read Range](範囲で読み込む)を次のように入れれば、Sheet1にあるデータをすべて読み込んでくれます。

image
読み込んだ後はそのデータの見出しで指定してUiPathの中で使うことができます。
image

右側のプロパティでは、今後 UiPath内で扱う名前を設定します。
これを変数といい、DatatableのところでCtrl+Kを押すと設定できるので、ここでは ExcelTableという名前にしました。

image

さらに、中央下の[変数]をクリックし、このExcelTableのスコープを「シーケンス」にしておきましょう。
スコープは、その変数を使う範囲のことで、これを変更しないと、メールを送るときに、Excelで読み取ったデータが使えません。
全体(シーケンス)で使えるようにスコープを変えます。

image

テキストから読み込む

テキストファイルからメール本文を読み込みます。
[テキストから読み込む]アクティビティを使い、そのテキストファイルを指定しましょう。
読み込んだ後、[エンコーディング]を ”Shift_JIS” にします。
日本語はそうしないと文字化けします。

また、同じように変数(名前)をつけ、ここでは、MailTextとしました。

image

 

メールを送る

メールを送る部分は、繰り返し処理しますので、[繰り返し(各行)]アクティビティを入れます。
どの範囲で繰り返すかということで、ExcelTableを指定しましょう。

繰り返すのは、[SMTP メールメッセージを送信]アクティビティです。
クリックして右側のプロパティでメールの設定をしましょう 。

ご自身が使ってるメールの設定を見て、
・サーバー
・ポート
・パスワード
・メール(アドレス)
を入れます。

プロパティは、ボックスの…をクリックすれば、大きなボックスで入れることができるので、随時利用しましょう。

image

使っているメールサービスによっては、オプションの「セキュア接続」を変更しなければいけない場合もあります。
(wpXはそのまま何もせずにOKです)

件名は自由にテキスト入力(文字列)できます。
UiPathでは、文字列は、ダブルコーテーションで囲むというルールですのできちんと囲みましょう。

本文は、〇〇様と入れたいなら、
row(“宛名”).ToString+”様”+environment.NewLine+MailText
と入れます。
environment.NewLineは改行、MailTextは先ほど読み込んだテキストファイルです。
何か文字をつなげるときは+を使ってつなげましょう。

宛先には
row(“メール”).ToString
と入れます。

これは、先ほど読み込んだExcelデータから、メールという見出しの列を読み込み、それを文字列に変えるという意味です。
つまり、メールアドレスを入れます。

さらに、送信者と送信元メールを別途設定するときは、送信者の「名前」と「送信元」に入れましょう。

image

これで設定完了です。

Excelデータのメールアドレスを自分のメールアドレスにしておき、テストしてみましょう。
それでうまく行けば実際にも使えます。

メールサーバーの設定が少々手間ではあるのですが、RPAのプログラムとしてはシンプルですので、練習としてもいい事例です。

 



■編集後記

ダメ元で申し込んだももクロ。
ファミリー席が運よく当選しました。
ファミリー席だと当選しやすいのかもしれません。
埼玉のメットライフドームであります。

 

■昨日の「1日1新」

スマホWordPressアプリで音声認識入力を使ったブログ執筆

 

■昨日の娘日記

英才教育が実ったのか、「トントントントン、アイアンマン」を歌っていました。

「トントントントン、ハルクーマン」とも。
今のところ、アイアンマンとハルクだけを認識しているので。

Spread the love