Power AutomateでOutlookの無料アカウントからメールを送信する(小ネタ)

はじめに

以前、Power Automateでメール送信のフローを作っているときに自分で取得した無料のOutlookメールアドレスから送るのに少しつまづいたので解決法を書き残しておきます。

つまづきポイント1:組織アカウント

まず初めにOutlookからメールを送信しようと思うと、Office 365 Outlookの「メールの送信(V2)」というのが目につくと思います。

Outlooknのアクション一覧

送信元メールアドレスはデフォルトではログイン中のMicrosoftアカウントのメールアドレスになっています。その送信元メールアドレスを変更するにはログイン中のMicrosoftアカウントが設定したいメールアドレスのメールボックスの閲覧権限を持っている(共有されている)必要があります。

参考)メールボックスの共有方法

この手順通りにやってみる。しかし、メールボックスの共有ができない…

さらに調べてみると、メールボックスの共有は同じ学校や企業の組織アカウント同士でしかできないようです…

参考)他のユーザーのメールおよび予定表のアイテムを管理する

つまりOffice 365 Outlookの「メールの送信(V2)」アクションでは法人/学校向けの同じ組織のアカウントで、かつメールボックスを共有してもらった場合のみ自分以外のメールアドレスを送信元に指定できると言うことですね。

つまづきポイント2:スパム対策

他にメール送信のアクションを調べてみるとGmailとかはあるのになぁ…と半ば諦めかけていたら……

SMTPの「メールを送信する(V3)」というアクションを見つけました。なるほど、自前のメールサーバーなどを経由してメールを送信する時に使いそうです。

SMTPアクション…?!

アクションを追加してみて右上の3点リーダーから「マイコネクション」>「+新しい接続の追加」を開くとサーバーアドレスやポート番号などを設定できる画面を見つけました。

「+新しい接続の追加」の設定項目

Outlookでこれらの情報をみたことがある気がするぞ…?!と思い見返してみたら

ブラウザからログインして右上の歯車マークから「Outlook の全ての設定を表示」>「メール」>「メールを同期」に進むと以下のようにSMTPの設定項目があります。

OutlookのSMTP設定
サーバー名: smtp.office365.com
ポート: 587
暗号化方法: STARTTLS

これで設定してみるとメールを送信することができました!!!

これで解決!!と思っていたら何度か実行していると…

送れなくなった…なんで……

メールボックスを見てみると、不審なアクティビティとして判断されブロックされました(泣)

不審なアクティビティ検出したでのメール

2段階認証を設定することでブロックを解除できるのですが、そうすると2段階認証を突破できずPower Automateから呼べなくなってしまいました…

ここでまた諦めそうになりました。ところがもう少し調べてみるとアプリパスワードというものがあることがわかりました。

アプリと連携する時のAPIトークンのようなものですね。

参考)アプリパスワードの作成方法

作成したアプリパスワードをSMTPアクションの設定項目にパスワードを追記してあげると、無事アカウントをブロックされることなくメールを送信することができました!!

最後に

この記事ではPower Automateで無料のOutlookメールアドレスからメールを送信する方法について紹介しました。

Power Automateには同じようなサービスでも複数のアクションが用意されているので、メール一つ送るだけでもつまづきポイント盛りだくさんでした。Power Automate…使いこなすにはまだまだ道が長そうですね… また使っていてつまづいたら記事にしたいと思います。