【问题标题】:Using office 365 to send mails from web app使用 Office 365 从 Web 应用程序发送邮件
【发布时间】:2015-03-12 15:15:59
【问题描述】:

我正在尝试在我们的 Web 应用程序中使用我的 Outlook SMTP 设置向用户发送邮件。邮件没有到达任何收件人,但我也没有收到任何应用程序错误。我在 web.config 中配置邮件设置如下:

<smtp deliveryMethod="Network" from="me@mynetwork.com">
        <network defaultCredentials="false" host="smtp.office365.com" port="587" userName="me@mynetwork.com" password="SuperSecret123(not real)" enableSsl="true"/>
      </smtp>

发送邮件的代码如下:

var C = new SmtpClient();
            var M = new MailMessage(ConfigurationManager.AppSettings["fromemail"],to,subject,message);
            M.IsBodyHtml = true;
            C.Send(M);

ConfigurationManager.AppSettings["fromemail"] 与我的发件人邮件地址相同。所有传递的变量都是它们应该是的。如果我将我的邮件设置换成一个测试 gmail 帐户,它就可以工作。这导致我假设我收到了垃圾邮件,但我无法确认这一点,因为我的测试邮件帐户都没有垃圾邮件文件夹中的邮件,所以我假设他们在发送之前在 Outlook 服务器上受到了攻击.

此外,我正在使用 GMail 帐户进行测试,因此我无法真正继续使用 Office 365 特定的解决方案。

【问题讨论】:

    标签: office365 exchangewebservices


    【解决方案1】:

    胡安,

    考虑使用 EWS(Exchange Web 服务)发送电子邮件。请参阅EWS Managed API, EWS, and web services in Exchange 了解更多信息。

    【讨论】:

    • 如何使用 EWS 通过 GMail 或任何其他非交换提供商发送邮件?
    • 没有办法。它仅适用于交易所。我看到 Office365 标记,因此预计您使用托管交换服务器。考虑改用 BCL 类或任何其他第三方组件。
    • 我问是因为在测试应用程序时,我们使用的是 gmail 帐户。
    【解决方案2】:

    此外,对于 Office 365,您还可以考虑使用 Mail REST API。

    https://msdn.microsoft.com/office/office365/APi/mail-rest-operations#MessageoperationsSendmessages

    【讨论】:

    • 我没有在问题中提到,但我使用我的 GMail 帐户进行测试,所以我真的不能使用任何不是 vanilla SMTP 的东西。
    【解决方案3】:

    FROM 邮件地址必须是 Office 365 中的现有地址。我经常设置一个 SMTP 服务器中继到 Office 365,然后我可以查看本地 SMTP 日志中的错误。

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 2016-08-27
      • 2023-03-15
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2011-12-10
      相关资源
      最近更新 更多