[英]Why am I getting a connection timed out when trying to send an email through a CS program?
Firewall: Turned OFF. 防火墙:已关闭。 I am getting a connection timed out error. 我收到连接超时错误。 The email and password are verified. 电子邮件和密码已验证。
The exception is: System.Net.Mail.SmtpException : The operation has timed out. 例外是:System.Net.Mail.SmtpException:操作已超时。
My code 我的密码
string filename = @"C:\emailsample.htm";
string mailbody = System.IO.File.ReadAllText(filename);
mailbody = mailbody.Replace("##NAME##", firstname.Text);
string to = emailid.Text;
string from = "xxx.abc45@gmail.com";
MailMessage message = new MailMessage(from, to);
message.Subject = "Auto Generated Mail";
message.Body = mailbody;
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.gmail.com", 465);
System.Net.NetworkCredential basic = new System.Net.NetworkCredential(from, "Password");
client.EnableSsl = true;
client.Timeout = 20000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = basic;
try
{
client.Send(message);
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.ToString());
return;
}
Try modifying the Port to 587. 尝试将端口修改为587。
Also verify if the From email is correct. 还要验证发件人电子邮件是否正确。
SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("user@gmail.com","password");
MailMessage mm = new MailMessage("donotreply@domain.com", "sendtomyemail@domain.co.uk", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.