我们已经运行了一个新的系统测试了一段时间,并创建电子邮件到一个文件夹,以便他们不会意外地出去到客户端。现在,我们打开了现场电子邮件,我们收到了发送的问题。
我正在使用ActionMailer.NET和代码来创建和发送电子邮件如下。我不包括视图:
EmailResult x = new EmailController().EmailWorkOrderForApprovalToClient(model);
System.Net.Mail.Attachment file = new System.Net.Mail.Attachment(FilePath);
x.Mail.Attachments.Add(file);
x.Deliver();这给出了错误
SMTP服务器需要安全连接,否则客户端未经身份验证。服务器响应为: 5.7.57 SMTP;客户端未通过身份验证以发送匿名邮件。
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电子邮件部分时,我会得到以下错误:
未识别属性“enableSsl”
我对IIS并不那么感兴趣,但我已经检查了Application及其.NET CLR版本是4.0.30319。我还检查了服务器上是否安装了.NET v4.5。
这让我感到困惑,我希望我不必将代码完全更改为允许我在那时指定SSL的方法。
发布于 2016-03-18 12:11:33
在这里回答我自己的问题,基本上答案是:“不要相信错误信息”。在我尝试过的所有配置中,当错误消息告诉我这是不可接受的时,我相信它是错误的。但是,我还是尝试了它,它在发送时使用enableSsl属性,这样就可以成功地连接到Office 365。
我会在一周内忘记这一点,但现在非常烦人。
发布于 2018-08-31 10:03:04
这是IIS上的问题,不需要担心这个错误消息,SmtpClient对象enableSsl值得到映射,这个愚蠢的问题浪费了我很多时间:D
https://stackoverflow.com/questions/36082304
复制相似问题