UiPathとGmailを使って、メールを一斉配信してみました。
なんとか成功したようなので、その流れをまとめてみました。
オフ会のご案内をメール
来週、13日にブログオフ会をやる予定です。
どうなることやらと思いましたが、幸運なことに参加者の方がいらっしゃいます。
「おー、よかったわぁ」とホッとしてます。
最初はゼロもあるかも…なんて思って企画してみたわけですが、まぁ、何か企画するときにはよくある話ではあります。
で。お申し込みいただいて、人数を確定させたあとにやるべきこととして、
参加人数の確定→お店の予約→メールで連絡
というのが必要です。
参加人数の確定して、お店の予約、そのあと参加者の皆さんにメールでのご案内するわけですが…。
案内文を作成して、メールすれば、あっという間に終わるわけです。
ただ、個人的に「UiPath」でメールを送ってみたいという興味本位から、今回はUiPathとGmailを利用して、メールの一括送信というのをやってみた次第です。
UiPath×Gmail メールを一斉に送信
UiPathとGmailを利用して一斉送信。その方法について見ていきます。
① Excelで参加者リストと文面を準備
Excelでシートを2つ作成します。
1つは参加者のリスト、
もう1つは送信する文章です。A1セルにコピペしています。余談ですが、行の高さは409までが限界です。
宛名を「%last%」としていますが、送信したメールでは、ここに参加者の方の苗字がくるというのが狙いです。
② Gmailの設定
まずは、Gmailでの設定が必要です。
IMAP 機能というのを有効にする必要があります。
設定→メール転送とPOP/IMAPをクリックし、IMAPを有効にしておきましょう。
あと、Gmailはセキュリティが高く、ログインでつまづくことがあります。
その場合の対処方法について、次のようなものがあります。いろいろあるのでここでは説明しませんが参考までに。
③ UiPathでプログラミング
次にUiPath。
UiPathでは、①のExcelを読み込んで、1人ずつにメールを送信するという流れです。
Excelの読み込み
「Excelアプリケーションスコープ」で、「…」のところをクリック、前述のExcelファイルを選択し、次に「範囲を読み込み」でシート名を入力します。
文字列なので「”参加者”」と「””」をつけます。隣の小さな窓は範囲指定です。今回は全体なので「””」をそのまま。
このデータは後で使いますので、ひとまず箱にしまっておきましょう。(変数となります。)
いくつか箱が必要なので、名前をつけておきます。
右のプロパティの出力でCtrl+Kで名前をつけることができます。この箱は「datatable」としました。
あと、左下の変数をクリックし、
スコープをシーケンス(全体)に変えておきましょう。
かつて、これをやらずに「なんでだ?なんでだ?」とパニックになっていたのは私です。
データの取り出し
先程の箱「datatable」にしまった変数から1人ずつ情報を出していく記述です。
繰り返し(各行)のアクティビティを使います。
コレクションには、箱の名前「datatable」を入力しましょう。
これで次からの内容を参加者の数だけ処理してくれます。
文面を読み込み
次にもう1つのデータである「文面」を読み込みます。
アクティビティ「セルの読み込み」(画面は名前を変更したものです。)で読みこむファイルを「…」から選択して、長い検索窓に、シート名「”文面”」を、小さな検索窓は、文面が入力されているセル「”A1”」としました。
また、読み込みができた文面は、変数として登録します。
プロパティの出力でCtrl+K、「templete」と名付けました。
宛名の置換え
もう忘れているかもしれません。最初の方でExcelでの文面の宛名を「%last%」としたことを…。
それをここで使います。
読み込んだまま送信すると、とても失礼なので、データを置換えます。
使うアクティビティは「置換」。
Excelのシート「文面」の冒頭、「%last%」となっているところを参加者の方の苗字に書き換えます。
この場合、A2セルだと「植村」の部分になります。
UiPathでは、「置換」のプロパティで次のような設定をします。
- 結果→置換えた後の文面をまた変数「mailBody」にしています。
(これは後述のメール送信のところで使います。)
- パターン→置換えしたい部分。ここでは「%last%」
- 入力→先ほど、読み込みした「文面」の変数「templete」
- 置換→row(“last”).ToString
最後の置換えの「row(“last”).ToString」で「苗字を入力してちょ」とお願いしています。
ここを”last”でなく”first”にすると、「真紀 様」という表示になり、「Googleみたいで馴れ馴れしいんじゃない?」と言われること間違いなしなので注意が必要です。
メールの送信
最後に、メールを送信するアクティビティを追加します。
Gmailで送信する場合には、「SMTPメールメッセージを送信」を使います。
これだけ見ると、何を入れるのかわからないのですが、すべてプロパティで入力をしていきます。
このとき、メールアドレスやパスワードの文字はやはり「””」で囲います。
gmailの場合、通常はサーバー「smtp.gmail.com」、ポート「465」となりますが、他のサーバーを利用する場合には、また変わってきます。
メールは、
- 件名→メールのタイトル
- 本文→mailBody(置換のところで箱をつくった変数)
とします。
本文のmailBodyというのは、先ほど「置換」のところで設定した変数のことです。
これで文面がメールに入力されることになるわけです。
あとは、Gmailのログイン情報や受信者の設定をするのですが、宛先に入力するのはメールアドレス。
参加者ごとに異なるため、変数「datatable」から引用。「row(“mail”).ToString」とします。
まだ、下に入力する箇所があり、送信者の名前と送信元のメールアドレスです。
ここのメールアドレスは独自ドメインのもので大丈夫です。
実行する
これでメールの一斉送信ができるようになります。
実行してみた結果がこちらです。
これが参加者の方に届いている…はずです。(念のためのBCCで私に届いたので大丈夫でしょう)
参考までに、全員への送信完了までかかった時間は32秒でした。
あえて遠回りして次のチャンスを伺う
正直なところ、メールを全員に送るだけなら、メールを送信すればいい話。
きっと5分もあればメールは送れます。
一方で、私がUiPathでプログラミングして、メールを送るまでにかかったのは3時間ほど。
時間をかけてわざわざ遠回りしたわけですが、単純に「やってみたい」と思ったのと、短めのプログラミングの方が練習になるかなぁと感じたのでやってみた次第です。
やってみて、どう伝えればメールが動いてくれるのか?の仕組みが勉強になりました。
他のプログラムと組み合わせでやるときなど、今回の経験がきっと役に立ってくれるはず。
自家製メルマガ送信ツール?になるかどうかは、知りません(時間設定が必要)が、利用できる場面はあるかと。
結局、Excelのfirst、名前の方はなくてもメールは送れるわけですが…、まぁ、こういうこともあります。
【編集後記】
昨日は市役所に土地関係の確認に行ったあとにお客様訪問。夕方には習い事のある長女(11)を妻が迎えに行けないとのことで、私が小学校に迎えにいきました。なんとか間に合ってホッとしました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
豊明市役所
相続税申告・ひとりしごとをサポートします 植村豪税理士事務所
相続や贈与のことでお悩みの方、「決算書の数字が読めない」、「資金繰りを改善したい」、「クラウド会計を使ってみたい」というひとり社長やフリーランスの方のサポートに力を入れています。
サービスメニュー
- 5/27@名古屋『ひとり会社の決算書の見方・使い方入門セミナー』
- 5/30@名古屋『法人メインの税理士のための同族株式入門セミナー 』
- セミナー開催リクエストフォーム
- 相続税申告・贈与税申告
- 個別コンサルティング
- スポット相談
- メールコンサルティング
- 顧問契約(法人)
- 顧問契約(フリーランス・個人)