安全例外 - 端口587 SmtpPermission(Gmail在Asp.net C#4.0中发送的电子邮件)

时间:2015-12-24 08:42:38

标签: c# asp.net gmail

我使用C#(4.0)从asp.net中的代码发送邮件。我有来自转售俱乐部的windows共享主机。当我从我的在线网页发送电子邮件时,我收到端口587错误。 image)。

MailMessage mm = new MailMessage("from@gmail.com", "to@gmail.com");
    mm.Subject = "This is my subject";
    mm.Body = "This is Email Body";
    mm.IsBodyHtml = true;
    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.Port = 587;
    smtp.EnableSsl = true;

System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "from@gmail.com";
NetworkCred.Password = "*******";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Timeout = 20000;
smtp.Send(mm);

1 个答案:

答案 0 :(得分:1)

我以前没有看到过与此类似的错误,但是,我只能根据以下消息假设应用程序无论在何处都没有足够的权限。

我找到了一些可以帮助你的文章。我还提供了来自"的说明"制品

1)The application attempted to perform an operation not allowed by the security policy

2)http://forums.iis.net/t/1189018.aspx?Change+the+application+s+trust+level

3)http://kb.odin.com/en/124321

在web.config中尝试以下操作之一,看看是否会产生影响:

1)

<location allowOverride="false">
<system.web>
    ...
    <trust level="Medium" originUrl="" />
</system.web>

2)

<securityPolicy>
    <trustLevel  name="Full" policyFile="internal" />
</securityPolicy>

3)

 <trust level="Full" originUrl="" />

我对这可能对安全性产生的影响不是100%肯定,所以我建议你自己检查一下,不过,我希望这会有所帮助。