この記事で伝えたいこと
Gmail等を使った方法等、その他のメール送信については調べていないので触れていません...。すみません...。
PowerAutomateで「メール通知を送信する (V3)」を使うときは制限に気をつけよう!
具体的には1日で100件までに加えて5分で5通までしか送れないよ
PowerAutomateの実行間隔はライセンスによって、違うよ
本題
さて、毎回この始まり方な気がしますが皆さんPowerAutomateでメール送信にやたら時間がかかって悩んだこと、ありませんか?
毎度のことながらもちろん僕はあります。
毎回5分程度かかるフローがあってそれの原因が「繰り返し」というアクションで
メールを一度に実行中のフローを含めて5分以内に5件以上送信しようとしていたことで処理に遅延がかっていました。
この実行中のフローを含めて、というのが肝です。
これについてはMSの公式ページにちゃんと制限が書いてありました。
実際の動きとしてはメールを5件まで送信したところで一旦停止し、
5分後に再度Automate側で勝手に続きからやってくれるのです。便利ですね。
ただ、これについては注意点がありますので下記に述べます。
注意点
続きから送信したものの再度制限に引っかかり続きから送れなかった場合2回までで429エラーが返ってきてしまいます。
実体験からなので正確に2回ではないかもしれませんが、何回か再実行しようとすると引っかかることは確実です。
そんな続きからすらも制限にかかって送れないことってあるの?と思うかもしれません。
それが、気をつけないと割と起こり得るのです。
具体的に言うと、そもそもAutomateというのはライセンスによって実行間隔が違います。
下記サイト様が詳しく書いてくださっているので具体的には省きますが・・・
この実行間隔と噛み合うと、条件によっては5分にかなりの量のメールを送信しようとしてしまいます。
例えば
メールを一度に5通送信するAutomateの実行条件がSharePointが更新/追加された場合とした時に15分以内にSharePointの列を5個ほど更新したとしましょう。
そこで仮にライセンスが「PowerAutomate Free」だった場合、15分に一度しかフローが走らないので5個分一度にフローが走ることになります。
ということは5*5の25通メールを送信しようとします。
5分に5通までしか送れないので5通送ったところで残り20通は更に5分後ということになります。
言うまでも有りませんが、更に5通送ると残りの15通は更に5分後・・・といった具合にどんどん遅延していきます。
最悪なパターンなのが、その遅延している5分以内に更にSharePointで更新等をかけてしまうとその分どんどん上乗せされていきます。地獄かな?
メールの送信順も不明瞭で、1つ目のフローは2件、2つ目のフローは3件送って両方止まってる、なんてこともあります。
解決策
そういうことを聞いてるんじゃない、感がありますがそもそも5通もメールを送るんだったら可能ならば基本的にはグループアドレスか何かにメールを送信するようにしましょう。
また、メールの送信(V3)ではなく、メールの送信(V2)を使うと5分に5通までの制限は回避できるようです。
もしくは、ライセンスをより良いものにしましょう。これ自体については結局5分で5通の制限には引っかかるので微妙な感じが正直しますが実行間隔が短くなるのでたまりすぎるまでに処理が走るようになるので多少はマシになるでしょう
・・・なんだかまともな解決方法が有りませんね、すみません。
自分はGoogleのグループアドレスを使うようにしたことで回避したのですが・・・他に解決策とか、ないものでしょうか。
余談
ちなみに、1日に100件までしか送れない制限もあります。
これに引っかかると引っかかった段階でメール送信のアクションが止まり続けます。
やっかいなのがエラーにならずに止まり続けます。
しかも、次の日になっても止まり続けるので手動で再実行するしかありません。
制限リセットのタイミングも不明瞭で夜に引っかかったのに朝出勤する頃には解除されてる、なんて感じだったので止まったタイミングから24時間というわけではないようです。
終わりに
いかがでしたでしょうか。
中途半端にメールが送信されたりと、微妙に厄介な仕様ですよね。
特に承認システム等を扱っているとPowerAppsとかSharePointでは更新されてるのにフローが走り出さないから想定通りに動かない、なんてこともあります。
皆様、気をつけましょう...。
間違い等、ありましたらご指摘お願い致します。
参考