
特定のフォルダに届いたメールの送信者全員に一括でメールを返信するにはどうしたらいい?

解決までに時間がかかったのでメモとして記録を残しておきます
フローの全体図

このフローでは最終的に『送信してきた人のメールアドレス』に対して返信する必要があるので、そのアドレスを取得する必要があります。
そのために、outlookからメールメッセージを取得 のアクションを追加します。

いま取得したい『送信してきた人のメールアドレス』は最後の行に記載されてあるRetrived Emailの変数に格納されています。
メールフォルダ:sample に届いたメールは下記の3通です。

生成された変数Retrived Emailの中身は下記の通り

右端の詳細表示をクリックしてさらに中身を見ていきます。

ここを見てみると「.From」のところに送信者のメールアドレス(今回は私のサンプルメールアドレス)が記載してあります。

このままだと、一人分のアドレスしか取得できていないよね。。

フォルダに届いた全員のメールアドレスを取得するためにForEach処理を行います。
またForEach処理を行う前に、送信者全員のメールアドレスを記載していく「リスト」を事前に作成しておきます。↓
データを格納するための「リスト」を事前に作成しておく
では下図の赤枠の部分を説明していきます。

まずは送信者全員のアドレスを登録しておくための「リスト」を作成しておきます。
リスト名は AddressList としています。

このリストにどんどん送信者のメールアドレスが登録されていく処理を行います
今やりたいことは「Address List」に名前を繰り返し追加していく処理なので、
繰り返し処理を行える「For Each」のアクションを追加します。

ここまではなんとなく分かるけど、具体的にどうすればいい?

繰り返したい処理は「メールアドレスをListに追加していくこと」なので、ForEach処理の中に「項目をリストに追加する」アクションを入れます

繰り返したい処理したいアクションはForEachで囲ってやればいいのね

ではではForEachの中身を詳しくみてみよう!
ForEachアクションではどんな指示をすればいい?


まずは「反復処理を行いたい値はなにか?」を考えるよ

今回は送信者のアドレスをListに繰り返し書き込みたいから、その情報が入っている変数を指定する必要があるよね

そう!つまり反復処理を行う値には 「Retrieved Emails」を設定すればOK

なるほど!そうやって考えていけばいいのね

では次にその下のCurrentItemについて説明していくよ
CurrentItemってなに?

このCurrentItemっていうのが良くわからないんだよね

Current Item を直訳すると「現在の項目」という意味になる。つまり現在処理中の項目を指すよ

現在処理中の項目?
Current Itemtってどうやって使うの?

う~ん。現在処理中の項目って具体的になに?

それはRetrieved Emailsの中身をみれば分かるよ

こんな感じでList形式の変数は、左の列に#0,1,2と番号が振られている行があるよ。
そしてその各々アイテムがある「複数行・2列」で構成されている。
ForEach処理ではこの行を#0から1行づつ読み込んでいくよ。

つまり今回のForEach処理は 0 1 2 の3回処理を繰り返すよ

つまりForrEach処理1回めのCurrent ItemはRetrieved Emailsの0行目
ForrEach処理2周めのCurrent ItemはRetrieved Emailsの1行目
ForrEach処理3周めのCurrent ItemはRetrieved Emailsの2行目
この値を順番に読み込んでいるってことね!








コメント