我制作了一个简单的程序来发送电子邮件,但它没有发送它们并给我一个例外。
以下是代码:
using System.Net;
using System.Net.Mail;
public class test{
public static void Main()
{
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Port = 465;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("myemail@gmail.com","mypassword");
client.Send("myemail@gmail.com","myemail@gmail.com","Test","Test");
}
}
注意:刚刚添加了以下代码行:
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
并将端口更改为587,然后它说需要身份验证,并且我已经提交了我的凭据,也许是因为端口587需要TLS而不是SSL(从我今天学到的搜索内容,我知道SSL是TLS的“演变”,没有?)
答案 0 :(得分:0)
Tunigamer,刚试过下面的代码并且有效:
SmtpClient gmailClient = new SmtpClient {
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("email@gmail.com", "password")
};
using(MailMessage gMessage = new MailMessage("email@gmail.com", "email@gmail.com", "Test", "Test")) {
try {
gmailClient.Send(gMessage);
} catch(Exception) { }
}
另外,我从GMAIL收到以下通知,您需要停用帐户的登录安全功能: