我是使用c#创建示例电子邮件发件人,但它显示错误是:
SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.5.1需要身份验证。
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add("toAddress@gmail.com");
mail.From = new MailAddress("fromAddress@gmail.com", "Test Mail !", System.Text.Encoding.UTF8);
mail.Subject = "Test Mail";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "Test message";
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("myMail@gmail.com", "password");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.Send(mail);
网络配置:
<system.net>
<mailSettings>
<smtp from="myMail@gmail.com">
<network host="smtp.gmail.com" password="password"
port="587" userName="myMail@gmail.com" />
</smtp>
</mailSettings>
</system.net>
答案 0 :(得分:1)
如果您启用了双因素身份验证,则需要为自己的Google帐户自行生成应用密码。
生成此类密码的步骤如下([Google page] | [Archived page]):
- 访问您的App passwords页面。系统可能会要求您登录Google帐户。
- 在底部,点击选择应用,然后选择您正在使用的应用。
- 单击选择设备,然后选择您正在使用的设备。
醇>
- 点击生成。
- 按照说明在设备上输入应用程序密码(黄色栏中的16个字符代码)。
醇>
- 点击完成。
醇>点击完成后,您将再次看不到该应用密码。 但是,您将看到已创建App的应用程序和设备列表 密码。
然后,在您的NetworkCredentials中,将密码替换为生成的16位密码。
答案 1 :(得分:0)
尝试按代码发送邮件,当您收到错误时,请登录您的Gmail帐户并在2或3分钟后检查收件箱。您将收到这样的邮件:
#;
#;
#;
#;