Oh! 365 blog

主に SPO や Teams に関する情報を発信しています。

Send-PnPMail で no-reply@sharepointonline.com からメールを送付する

SharePoint Online 上からサイトやコンテンツを共有したときや、通知機能などで SharePoint Online の SMTP サーバーからメールが送付される場合、差出人が no-reply@sharepointonline.com になります。このメールアドレスを使用したテストを行いたい場合に、PnP の Send-PnPMail コマンドが便利です。もちろん、送信元を SharePoint Online としてメールを送付したいシナリオでも使えますが、SharePoint Online からのメールが受信できない場合や来ないなどに、単なる遅延なのか、組織のフィルタの影響かなどの切り分けにも使えたので、備忘録として残しておきます。

docs.microsoft.com

以下のように、送信元にしたいサイトに接続して、Send-PnPMail コマンドを実行するだけで使えます。

Connect-PnPOnline -Url https://contoso.sharepoint.com/sites/TeamSite
Send-PnPMail -To user01@contoso.onmicrosoft.com -Subject "This is subject" -Body "This is body"

コマンドを実行すると、以下のように no-reply@sharepointonline.com からメールが送付されるので、メールが受信できないときなどに、まずこの送信元からのメールを受信できるのかなどの切り分けになります。

f:id:keisuke-blog:20210418112747p:plain
Send-PnPMail コマンドの実行で配信されたメール

記事の引用となりますが、同じテナント内のユーザーのみにメールを送付することができます。

Sends an e-mail using the SharePoint SendEmail method using the current context. E-mail is sent from the system account and can only be sent to accounts in the same tenant

試しに異なるドメイン (テナント) を指定して実行すると、以下のエラーメッセージが表示されます。

Send-PnPMail : The e-mail message cannot be sent. Make sure the e-mail has a valid recipient.


Google 検索してみると、2017 年の記事ですが TechNet 上で質問している方もいました。REST API を使うアイデアが出ていましたが、今なら PnP コマンドで手軽に実行出来て良いですね。

メール送信の送信元を、【no-reply@sharepointonline.com】で送信したい。

今回の投稿は以上となります。