首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows Server 2008 R2上使用System.Web.Mail发送挂号邮件时出现C#错误

在Windows Server 2008 R2上使用System.Web.Mail发送挂号邮件时出现C#错误
EN

Stack Overflow用户
提问于 2019-01-04 21:59:58
回答 1查看 321关注 0票数 1

仅在windows server 2008 r2上在端口465 (tls1.2)上发送挂号邮件(System.Web.Mail.MailMessage)失败

我有一个基于框架4.5的函数,但它使用旧的库(System.Web.Mail.MailMessage)通过端口465的smtp服务器(挂号邮件tls1.2)发送电子邮件,该函数在windows 10和windows server 2012上运行正常,但在windows server 2008 r2上失败。该错误的类型为System.Web.HttpException,表示它无法到达服务器,但在端口465上进行telnet可以正常工作。windows server 2008 r2有什么问题?

代码语言:javascript
复制
try
{
System.Web.Mail.MailMessage newMail = new System.Web.Mail.MailMessage();
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "server");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", "2");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "pwd");
newMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");

newMail.From = "mail";
newMail.To = "mail";
newMail.Subject = "test web Mail";
newMail.BodyFormat = System.Web.Mail.MailFormat.Html;
newMail.Body = "body....";
newMail.Priority = System.Web.Mail.MailPriority.High;

System.Web.Mail.SmtpMail.SmtpServer = "smtpserver:465";
System.Web.Mail.SmtpMail.Send(newMail);

Console.WriteLine("Email Send");
}
catch (Exception ex)
{
Console.WriteLine(ex);
}

System.We.HttpException (0x80004005)传输无法连接到服务器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 23:22:54

我通过遵循this指南或伊曼塔斯建议的this启用the 1.2解决了这个问题

在windows server 2008 R2中,必须通过在系统注册表中插入以下键来启用tls1.2协议:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols下的Add Folder TLS1.2和文件夹TLS1.2中,在这两个文件夹中添加子文件夹Client和subfolder Server,分别输入设置为0DisabledByDefault密钥和设置为1Enabled密钥

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54040409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档