System.Security.Security使用 smtp.gmail.com 时的异常
本文关键字:Security 异常 com gmail 使用 smtp System | 更新日期: 2023-09-27 18:36:27
当使用这篇阅读良好的帖子中的代码时
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("my email", "my password")
};
我经常收到一个System.Security.SecurityException:请求类型为"System.Net.Mail.SmtpPermission"的权限。
此代码是否必须在某些特殊的托管环境中使用,或者我是否缺少一些明显的东西?
谢谢!
发送电子邮件取决于 SMTP 服务器的配置方式。
According to gmail confiruged You need to remove this line of code
UseDefaultCredentials = false;
只需评论此行,您的信息就会发送。
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
// do not use this command
// UseDefaultCredentials = false,
Credentials = new NetworkCredential("username", fromPassword)
};
Microsoft建议尽可能不要使用默认凭据。有关说明,请参阅此链接。