我想使用C#发送电子邮件用于MVC项目和hotmail,我使用自己的凭据尝试了端口25和587,但每次我得到'5.7.3用户未经过身份验证',如果我将SSL更改为false ,然后我得到'5.7.0,必须首先发出STARTTLS命令'。 还有另外两个问题有相同的问题,但其中一个答案是旧的(指向我在outlook.com中不存在的设置)而另一个没有解决它(将ssl更改为false)。
这是我的代码(当然我删除了我的电子邮件和密码),问题是,我还能做些什么才能获得5.7.3,我错过了什么?
MailMessage mail = new MailMessage(<email>, <email>);
SmtpClient client = new SmtpClient("smtp-mail.outlook.com");
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(<email>, <pass>);
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.EnableSsl = true;
client.Send(mail);
答案 0 :(得分:0)
此代码在我的计算机上正常运行!
您应该注意两个问题:
我的代码:
{{1}}