email - .NET v4.0 中无法识别的属性 'enableSsl'

标签 email iis smtp office365 actionmailer.net

我们已经运行了一段时间的新系统进行测试,并将电子邮件创建到一个文件夹中,这样他们就不会意外地发送给客户。现在我们打开了实时电子邮件发送,我们遇到了发送问题。

我正在使用 ActionMailer.NET,创建和发送电子邮件的代码如下。我不会包括 View :

EmailResult x = new EmailController().EmailWorkOrderForApprovalToClient(model);
            System.Net.Mail.Attachment file = new System.Net.Mail.Attachment(FilePath);
            x.Mail.Attachments.Add(file);
            x.Deliver();

这给出了错误

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM



web.config 看起来像这样:
  <system.net>
<mailSettings>
  <smtp deliveryMethod="Network" from="ClientServices@topupconsultants.com">
    <specifiedPickupDirectory pickupDirectoryLocation="" />
    <network defaultCredentials="false" host="smtp.office365.com" password="secret" port="587" userName="ClientServices@myco.com" />
  </smtp>
</mailSettings>

我的假设是 enableSsl="true"需要添加到网络线路,但是当我这样做并尝试转到 IIS 中站点的 SMTP 电子邮件部分时,我收到错误消息:

Unrecognized attribute 'enableSsl'



我对 IIS 不太感兴趣,但我检查过应用程序池及其 .NET CLR 版本是 4.0.30319。我还检查了服务器上是否安装了 .NET v4.5。

这让我很困惑,我希望我不必将我的代码完全更改为允许我在那时指定 SSL 的方法。

最佳答案

在这里回答我自己的问题,基本上答案是:“不要相信错误消息”。在我尝试的所有配置中,我相信错误消息告诉我这是 Not Acceptable 。但是,我无论如何都试过了,它在发送时使用了 enableSsl 属性,这使得与 Office 365 的连接能够成功。

一个有点恼人的 IIS 错误,我会在一周内忘记,但现在很烦人。

关于email - .NET v4.0 中无法识别的属性 'enableSsl',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082304/

相关文章:

ASP.NET - 重定向 301

asp.net - 错误请求 - 无效的主机名 ASP.net Visual Studio 2015

php - 如何验证邮箱地址是否存在于YMail、Gmail等邮箱中?

Python:用于生产邮件接收的 smtpd(或替代方案)?

PHP imap_open() 太慢?还有其他选择吗?

html - .net 网站中的 IIS 7 css 更新

javascript - 如何在 alfresco 4 后台以网页脚本形式发送电子邮件?

smtp - Bugzilla SMTP 身份验证

php - 在php中通过电子邮件发送网页

php - 使用 laravel 4.2 和 mailtrap 向电子邮件发送简单的消息