【发布时间】:2018-04-19 10:07:53
【问题描述】:
您好,我正在使用 mvc5 c# 开发 Web 应用程序。我以 ssl 模式托管我的网站。我正在使用以下代码在生产服务器中发送电子邮件。
string AdminEmail = ConfigurationManager.AppSettings["AdminEmail"].ToString();
MailMessage mail = new MailMessage();
mail.To.Add(emailid);
mail.Bcc.Add(AdminEmail);
mail.From = new MailAddress(MailID);
mail.Subject = Subject;
mail.Body = Body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient(hostserver);
smtp.Credentials = new System.Net.NetworkCredential
(MailID, Password);
smtp.Send(mail);
return 1;
我加了
if (IsInternalBuild)
{
smtp.Host = hostserver; mail.c3payroll.com
smtp.Port = Convert.ToInt32(portno); 465
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
}
IsInternalBuild 在生产环境中为真。
以 ssl 模式发送时,我需要更改上述代码中的任何内容吗?有人可以帮我实现这个吗?任何帮助,将不胜感激。谢谢你。
【问题讨论】:
-
您在寻找这个:
smtp.EnableSsl = true;?我认为您需要通过设置该属性来启用 SSL 支持(也可用:smtp.Port = 25和smtp.Host = "youremailaccount@domain.com")。 -
您需要先弄清楚您指的是哪个 SSL。有所谓的隐式 SSL(端口 465,在 SMTP 会话开始之前协商 SSL,SmtpClient 不支持)和显式 SSL(端口 25,第一个 SMTP 会话开始未加密,然后协商 SSL - 由具有 EnableSSL 属性的 SmtpClient 支持)。跨度>
-
谢谢evk。我在托管时使用了 ssl 证书。那么我应该在上面的代码中改变什么?
-
感谢 EVK。我在我的本地主机中进行了测试。我得到服务器不支持安全连接。同样的错误是在 elmah 中登录。
标签: c# asp.net asp.net-mvc-5.2