我有windows专用服务器托管20多个网站都使用ASP.NET建成。我所有的网站发送电子邮件使用Gmail SMTP完美,但2天前,我要求技术支持启用TLS1.2和禁用TLS1.0;当这件事发生时,所有的电子邮件都停止了!
我已经尝试了所有的解决方案Here,但仍然没有使用!最后,我尝试使用另一个电子邮件提供商,而不是Gmail和电子邮件发送成功。
有谁知道Gmail服务在TLS1.2下会发生什么?
下面是代码示例:
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="[email protected]">
<network defaultCredentials="false" host="smtp.gmail.com" password="Pass here" userName="myema[email protected]" enableSsl="true" port="587" />
</smtp>
1条答案
按热度按时间h9vpoimq1#
最后,我找到了解决办法;经过大量搜索,我发现必须在global.asax.cs文件的Application_Start()函数中添加这行代码。