Vis*_*mar 6 c# email gmail smtpclient
我正在尝试通过 Gmail 发送邮件。我在本地主机上测试时成功发送邮件,但是当我将它上传到网络主机时这不起作用。我看到这种类型的错误:
请求类型 System.Net.Mail.SmtpPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 的权限失败。
每当我使用端口 25 时,都会出现以下此类错误:
SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 Authentication Required
下面是我发送电子邮件的代码。
MailMessage mail = new MailMessage("host@gmail.com","User@gamil.com");
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.Subject = "Any String"
mail.Body = mailbody;
mail.IsBodyHtml = true;
SmtpServer.Port = 587;
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("xyz@gmail.com","123");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
Run Code Online (Sandbox Code Playgroud)
有什么解决办法吗?请给我建议!
编辑: OP添加了对回答这个问题至关重要的额外信息,但我保留了旧的答案,因为它仍然可能对某人有帮助
新答案: 这个StackOverflow 问题已经回答了这个问题
OldAnswer:
由于此StackOverflow 答案已经回答,您将 SMTP 服务器上的端口更改为587默认值 ( 25),这需要提升权限,从而导致此错误更改:
SmtpServer.Port = 587;
Run Code Online (Sandbox Code Playgroud)
对此:
SmtpServer.Port = 25;
Run Code Online (Sandbox Code Playgroud)
它应该有效
注意:使用 SSL 时,端口需要是443
| 归档时间: |
|
| 查看次数: |
3127 次 |
| 最近记录: |