我使用C#(4.0)从asp.net中的代码发送邮件。我有来自转售俱乐部的windows共享主机。当我从我的在线网页发送电子邮件时,我收到端口587错误。 )。
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);
答案 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%肯定,所以我建议你自己检查一下,不过,我希望这会有所帮助。