首页 > 解决方案 > 发送电子邮件在本地工作而不是在服务器上

问题描述

发送电子邮件在本地工作,但是当我将代码上传到我在 bigrock 上的服务器时,它不起作用。我得到这个错误。

'System.Net.Mail.Smtp Permission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 类型权限的错误请求失败。

我的代码:

mm.Subject = "Nomination Received";
mm.Body = str.ToString();
mm.IsBodyHtml = false;

SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;

NetworkCredential NetworkCred = new NetworkCredential("abc@gmail.com", "password");

smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);

标签: asp.net

解决方案


确保您的 Web.Config 文件的信任级别设置为完整

 <configuration>
  <system.web>
    .....
    <trust level="Full" originUrl=""/>
  </system.web>
</configuration>

您必须在 System.Net.Mail.SmtpClient 变量中设置以下内容(例如 *smtp *):

SmtpClient smtp = new SmtpClient("relay-hosting.secureserver.net", 25);

smtp.EnableSsl = 假;// 检查您的 ISP 是否支持 SSL


推荐阅读