【5分でできる】Automation Anywhere A2019でメールを一括送信する


# 概要
クラウド型RPAソフトウェアのAutomation Anywhere A2019では、[無料のCommunity Edition](https://qiita.com/RPAbot/items/2a2d94eeab641dfa6516)[^1]が利用できます。そして、お使いの業務アプリを扱うロボットを簡単に作成できます。今回は、CSV ファイルを読み込み、各行に記載されているメールアドレスにメールを送信するロボットを作成してみます。

[^1]: 無料で使うためには条件があります。250名未満の小規模企業か、開発者であることなど。詳しくは[Community Editionの解説](https://qiita.com/RPAbot/items/2a2d94eeab641dfa6516)ページをご覧ください。

### 利用環境
Automation Anywhere A2019 Community Edition ビルド1598

# 作成するロボット
以下の手順で操作を行うロボットを作成します。

* CSVファイルを開いてデータを読む
* 各行に記載されているメールアドレスにメールを送信
* CSVファイルを閉じる

CSVファイルは以下のものをUTF-8で保存して`d:\input.csv`に配置します。

|ユーザー名|姓|名|会社名|電子メールアドレス|パスワード|
|:--|:--|:--|:--|:--|:--|
|akiko.yosano|与謝野|晶子|株式会社アールピーエー|`akiko.yosano@rpa.org`|9sbfJLE7|
|ichiyo.higuchi|樋口|一葉|竹倉部株式会社|`ichiyo.higuchi@takekurabe.com`|cqR3JuE3|
|jun-ichiro.tanizaki|谷崎|潤一郎|オートメーション株式会社|`jun-ichiro.tanizaki@automation.jp`|iRLmuEdp|
|kenji.miyazawa|宮沢|賢治|銀河鉄道株式会社|`kenji.miyazawa@ginga.ly`|gPDePfZW|
|ohgai.mori|森|鴎外|株式会社林太郎|`ohgai.mori@rintaro.org`|rwfnbcXx|
|osamu.dazai|太宰|治|レストランメロス|`osamu.dazai@merosu.com.au`|6JEGHP2J|
|ryunosuke.akutagawa|芥川|龍之介|ノーズエレクトロニクス|`ryunosuke.akutagawa@n-ele.com`|p7gPdXb2|
|shiki.masaoka|正岡|子規|ホトトギスコミュニケーションズ|`shiki.masaoka@hototogisu.com`|aZJv8Us8|
|soseki.natsume|夏目|漱石|坊ちゃん株式会社|`soseki.natsume@bocchan.org`|C6U2LarS|
|yukichi.fukuzawa|福沢|諭吉|ケイオウ商会株式会社|`yukichi.fukuzawa@ko-shokai.jp`|QqabeQ96|

Control Roomの「マイBot」で、新しくファイル名 (たとえば「LOB」など) をつけてロボットを作成しておいてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/257171a6-83a0-d7f1-6fb0-fc812dd44dd0.png)

# 使うアクション
[CSV](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-csv-text-command.html?_LANG=jpjp)を扱うアクションは以下の3つがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/5a702e81-be2c-82e7-8466-37c08116ba35.png)

加えて、[ループ](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-loop-command.html?_LANG=jpjp)、[Eメール](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/aae-client/bot-creator/commands/cloud-email-automation-command.html?_LANG=jpjp)のアクションも使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/224d595f-dd5c-5553-9aca-68e74f32d554.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/adb31f4d-1038-0fd2-a3fe-832a4c4bd39c.png)



# 作成してみよう
### 1. CSV の読み込みループができたところからスタート
前回の記事『[【5分でできる】Automation Anywhere A2019でCSVファイルを読み込む](https://qiita.com/RPAbot/items/66c05fc7092a2a0eba10)』の解法1のところまでできていることを前提とします。(メッセージボックスの部分は作成していないものとします)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/56886f5c-d0d9-165d-472a-995e03d9417c.png)
ループの「アクションの詳細」では、`$records$`変数を作成して指定しているものとします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/a44bbab7-5d09-6479-ea17-22a6320248da.png)


### 2. 電子メール送信部分を作成
ループの中に、アクションパレットから「Eメール」-「送信」をドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/11f302f1-bc85-1ae8-d5c5-88d5bbd4a7a6.png)

アクションの詳細では、以下の部分を編集します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/ae5ee50c-1e6d-bbad-60eb-11d578ca20aa.png)

* **送信先アドレス**: "`$records[4]$`"と指定します。これはCSVの5番目の列に電子メールアドレス情報が記載されているためです。 
* **件名**: "`$records[1]$`"と指定します。CSVの2番目の列の姓が差し込まれます。
* **メッセージ**: 以下の記載を行います。改行も有効です。今回はテキストメールを送ります。

```
$records[1]$ さん

パスワードのご連絡です。
$records[5]$ 
```

* **本Eメールの末尾にGo Greenメッセージを記載**: OFFにします。
* **送信元アドレス**: お使いのアドレスを入力します。
* **メールサーバーホスト**: お使いのメールサーバーホストを入れます。Office 365で想定すると "`smtp.office365.com`"となります。
* **メールサーバーポート**: お使いのメールサーバーのSMTPポート番号を入れます。Office 365などの通常のTLS送信では "587"となります。
* **サーバーで認証を要求します**: ONにします。お使いのメールサーバーのアカウント情報を入れます。(とりあえずCredential Vaultを使わずにアカウント情報を直打ちで入れます。)

完了したらアクションの詳細ペインの右上の「適用」ボタンをクリックします。

最後に、画面右上の「保存」ボタンをクリックします。

### 3. 完成!
さあ、完成です。以下のようなフローが完成しましたね！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/b200d6ec-ea21-3dcd-2abe-5bfacfa66686.png)


### 4. ロボットの実行
「Run」ボタンでロボットを実行してみましょう。
すると、以下のようなメールが合計10通、各アドレスに送信されたことがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/dfbda704-013c-5eab-a507-b5ea6dc701aa.png)

**注1:** 宛先の電子メールアドレスが見つからない場合でも特にエラーにはなりません。
**注2**: メールサーバーは送信制限があることがあるのでご注意ください。Office 365の場合は以下の通りです。多くのメールを送る場合は、メール送信アクションの間に適切な長さの遅延アクションを置いて、1分あたりの送信メッセージ数上限を超えないようにしましょう。
>**SMTP クライアント送信の制限事項**
デバイスで複数の Office 365 メールボックスのログイン資格情報を保存できる場合を除き、1 つのメール アドレスからのみメールを送信できます。Office 365 では、1 分あたりの送信メッセージ数の上限は 30、1 日あたりの受信者数の上限は 10,000 に設定されています。

最後に以下のメッセージが表示されれば正常終了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/427a3cb4-04bf-18eb-6c2c-aad35e450687.png)

# まとめ

いかがでしたか。CSVの中のメールアドレスを宛先として一斉メール送信するロボットは、5分もあれば完成させることができますよ。試してみてください！