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

質問
-
「PowerShell」で、通知メール送信のプログラムを作成しようとしております。
*SharePoint Online(Office365)を想定PowerShell を使い、メール送信自体は出来るのですが、メール差出人がログイン者名になっております。
(*当たり前ですが・・・)そこで、この通知メールの差出人を【no-reply@sharepointonline.com】にしたいのですが、
どの様に設定、コーディングしたら良いか分かりません。
(*ログイン者とは違うメールアドレスで送信するイメージです。)どなたか分かる方がいれば、よろしくお願い致します。
- 編集済み mie.8 2017年12月15日 3:52 追記
すべての返信
-
私が何か勘違いしてる可能性はありますが、PowerShellでメールを送信するなら、Send-MailMessageコマンドレットを用いるか、SmtpClientクラスを用いる方法が一般的かと思います。
これらを利用して、Office 365のSMTPサーバー経由でメール送信を行うということでしょうか?
Send-MailMessageであれば、-Fromパラメータに送信元アドレスを指定することで可能かと思います。
SmtpClientクラスなら、Sendメソッドの引数に指定するMailMessageオブジェクトのFromプロパティに、送信元アドレスを指定すると良いと思います。
もし、ログオンユーザー名と送信元アドレスが一致しない場合は拒否される、というような話であれば、PowerShellの問題というよりOffice 365側の問題になってくるかと思います。
-
コードに問題がないのであれば、Office365のSMTPサーバーが、ログオンユーザーと異なる差出人メールアドレスを許可していないということになり、コードの変更ではどうにもならないのではないかと思いますが、いかがでしょうか。
普通に考えると、任意のメールアドレスをfromに指定できてしまうのは、詐称し放題になってしまうので、妥当な設定だとは思います。
Office365側にこの制限を回避できる設定があるのかどうかをお調べになってはいかがでしょうか。少し調べた限り、共有メールボックスという機能があるようですが、外部SMTPクライアントのfromアドレスを変更するのに利用できるかどうかは分かりません。