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

  • 質問

  • 「PowerShell」で、通知メール送信のプログラムを作成しようとしております。
    *SharePoint Online(Office365)を想定

    PowerShell を使い、メール送信自体は出来るのですが、メール差出人がログイン者名になっております。
    (*当たり前ですが・・・)

    そこで、この通知メールの差出人を【no-reply@sharepointonline.com】にしたいのですが、

    どの様に設定、コーディングしたら良いか分かりません。
    (*ログイン者とは違うメールアドレスで送信するイメージです。)

    どなたか分かる方がいれば、よろしくお願い致します。


    • 編集済み mie.8 2017年12月15日 3:52 追記
    2017年12月15日 2:24

すべての返信

  • PowerShellでメール送信する方法はいくつかあると思いますが、具体的に何を用いておられますか?
    2017年12月15日 3:23
    モデレータ
  • ご返信ありがとうございます。

    説明不足で申し訳ございませんでした。

    SharePoint Online(Office365)を想定しまおります。

    2017年12月15日 3:51
  • 私が何か勘違いしてる可能性はありますが、PowerShellでメールを送信するなら、Send-MailMessageコマンドレットを用いるか、SmtpClientクラスを用いる方法が一般的かと思います。

    これらを利用して、Office 365のSMTPサーバー経由でメール送信を行うということでしょうか?

    Send-MailMessageであれば、-Fromパラメータに送信元アドレスを指定することで可能かと思います。

    SmtpClientクラスなら、Sendメソッドの引数に指定するMailMessageオブジェクトのFromプロパティに、送信元アドレスを指定すると良いと思います。

    もし、ログオンユーザー名と送信元アドレスが一致しない場合は拒否される、というような話であれば、PowerShellの問題というよりOffice 365側の問題になってくるかと思います。

    2017年12月15日 4:26
    モデレータ
  • ご返信ありがとうございます。

    SmtpClientクラス」を用いているのですが、エラーが出てしまい失敗します。。。

    エラー内容:メールボックスが使用できません。

    こちらでも、色々と試してみます。

    2017年12月15日 6:29
  • コードに問題がないのであれば、Office365のSMTPサーバーが、ログオンユーザーと異なる差出人メールアドレスを許可していないということになり、コードの変更ではどうにもならないのではないかと思いますが、いかがでしょうか。

    普通に考えると、任意のメールアドレスをfromに指定できてしまうのは、詐称し放題になってしまうので、妥当な設定だとは思います。

    Office365側にこの制限を回避できる設定があるのかどうかをお調べになってはいかがでしょうか。少し調べた限り、共有メールボックスという機能があるようですが、外部SMTPクライアントのfromアドレスを変更するのに利用できるかどうかは分かりません。

    2017年12月15日 7:50
    モデレータ
  • Rest apiにメール送信機能があるそうです。

    PowershellでRest apiを利用して、メール送信すれば、差出人、たぶんno-reply@sharepointonline.comと思います。

    siteurl + "/_api/SP.Utilities.Utility.SendEmail"


    • 編集済み yujianl 2017年12月15日 8:46
    2017年12月15日 8:44
  • 送信者を詐称したいのでしょうか。それとも、返信で送られるのを防ぎたいのでしょうか。 MailMessageオブジェクトのReplyToListではダメ?

    Jitta@わんくま同盟

    2017年12月19日 6:39
  • ご回答、ありがとうございます。

    APIでも、エラーが出ました。

    2017年12月20日 1:58
  • ご回答ありがとうございます。

    承認系のワークフローを作成しており、

    「承認されました。」的なメールを送るのに「Reply」のアドレスを利用したいと考えております。

    *受信した際に、Fromが個人アドレスだと返信出来てしまう。

    *replyアドレスなら、送信専用なので仮に返信されてもメールが届かない。

    様にしたいと思っております。

    MailMessageオブジェクトをいじってみます。

    2017年12月20日 2:16
  • O365のアカウントがあるのであれば、no-reply@~ でという名前のアカウントでその認証情報を用いて

    メールを送信して、メールを受け取らない設定をしてあげればよいのでは?と思ったのですが駄目なんでしょうか?

    @以下は、固有のドメインになりますが・・・

    2017年12月20日 2:30