【发布时间】:2018-07-23 06:02:35
【问题描述】:
我有 Windows 专用服务器托管 20 多个网站,这些网站都是使用 asp.net 构建的。 我所有的网站都完美地使用 Gmail SMTP 发送电子邮件,但 2 天前我要求技术支持启用 TLS1.2 并禁用 TLS1.0;发生这种情况时,所有电子邮件都停止了!
我已经尝试了所有解决方案Here,但仍然没有用! 最后,我尝试使用其他电子邮件提供商而不是 Gmail,并且电子邮件发送成功。
有人知道使用 TLS1.2 的 Gmail 服务会发生什么吗?
这里是代码示例:
public static bool SendMail(MailAddressCollection TO_List, string Subject, string Body, bool Is_Html_Body, System.Collections.Hashtable Attachments)
{
MailMessage msg = new MailMessage();
msg.Subject = Subject;
msg.Body = Body;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = Is_Html_Body;
msg.Priority = MailPriority.High;
SmtpClient sc = new SmtpClient();
if (Attachments != null)
{
foreach (Attachment AttachmentObj in Attachments.Values)
{
msg.Attachments.Add(AttachmentObj);
}
}
foreach (MailAddress To_Address in TO_List)
{
msg.To.Add(To_Address);
}
sc.Send(msg);
return true;
}
这是 web.config 数据:
<smtp from="myemail@gmail.com">
<network defaultCredentials="false" host="smtp.gmail.com" password="Pass here" userName="myemail@gmail.com" enableSsl="true" port="587" />
</smtp>
【问题讨论】:
-
如果您能提供minimal reproducible example,那就太好了。
-
您在 Web 应用中使用的 .net 版本是什么?
-
查看:C# ASP.NET Send Email via TLS 尝试启用 SSL
-
您是从代码发送邮件吗?还是直接从 GMAIL 本身发送邮件?如果您是从代码发送邮件,那么您必须添加一封来自您托管站点的已注册/经过身份验证的邮件。
-
@RamlalS 我已经在 web.config 文件中添加了电子邮件: