我尝试使用以下代码通过ASP.Net 2.0发送电子邮件:
int port=465;
//int port=587;
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", port);
smtpClient.Timeout = 260000;
smtpClient.Credentials = new System.Net.NetworkCredential("mygmail@gmail.com", password);
smtpClient.UseDefaultCredentials =false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
MailMessage mail = new MailMessage();
//Setting From , To and CC
mail.From = new MailAddress(from);
mail.To.Add(new MailAddress("myaddress@mydomain.com"));
mail.Body = contents;
smtpClient.Send(mail);
我检查了解决方案,并且使用了2个端口:465和587.端口587似乎在2 - 3年前工作。
我试过了两个,结果如下:
SMTP服务器需要安全连接,否则客户端不需要 认证。服务器响应为:5.5.1需要身份验证
我应该改变什么?
答案 0 :(得分:1)
使用端口587并首先设置UseDefaultCredentials
,然后设置Credentials
smtpClient.UseDefaultCredentials =false;
smtpClient.Credentials = new System.Net.NetworkCredential("mygmail@gmail.com", password);
如果您先设置凭据,则在将UseDefaultCredentials
设置为false