我正在尝试创建一个网络应用程序,在输入您的电子邮件地址和消息后,会从电子邮件地址发送包含此信息的电子邮件。
我用过这个:
try
{
NetworkCredential login = new NetworkCredential("your_____@gmail.com", "password");
System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
email.To.Add(new MailAddress("my____email@gmail.com"));
email.From = new MailAddress("your_____@gmail.com");
email.Subject = "Question";
email.Body = question;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = login;
client.Send(email);
}
catch
{
}
但是它给了我一个SMTP错误。
“服务不可用,关闭 传输通道。服务器 响应是:无法连接到SMTP 服务器209.85.129.111 (209.85.129.111:25),连接错误 10051“System.Exception {System.Net.Mail.SmtpException}
答案 0 :(得分:3)
要通过您的Gmail帐户发送,您需要连接到端口587:
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
答案 1 :(得分:1)
您不需要指定端口587 - 代码在没有它的情况下工作。我已成功使用以下方式发送和接收电子邮件:
SmtpClient客户端=新的SmtpClient(“smtp.gmail.com”);
如果仔细查看错误,则显示“无法连接到SMTP服务器”,错误10051表示网络无法访问。你有防火墙阻塞端口587吗?
答案 2 :(得分:0)
Gmail使用端口465,错误显示端口25 尝试使用465端口