[英]unable to send email via gmail
I am trying to send via gmail in c# using stmp.gmail.com but keep on getting authentication 5.5.1 issue under port 587 and under port 465 i get an operation timed out. 我正在尝试使用stmp.gmail.com在C#中通过gmail发送邮件,但继续在端口587和端口465下获得身份验证5.5.1问题,导致操作超时。
Please see my code and let me know how and where I am going wrong and how to resolve. 请查看我的代码,并让我知道我如何以及在哪里出错以及如何解决。
thanks 谢谢
private void SendMessage(object sender, RoutedEventArgs e)
{
var connected = ConnectedToInternet();
if (!connected) return;
var Client = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 465,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(txtUserName.Text, txtPassword.Password),
Timeout = 20000
};
var m = new MailMessage { Subject = txtSubject.Text, IsBodyHtml = true, Body = txtMessage.Text };
foreach (var email in LbEmailAddresses.Items)
{
try
{
m.To.Add(new MailAddress(email.ToString().Trim()));
m.From = new MailAddress(txtUserName.Text);
Client.Send(m);
m.To.Clear();
Success.Add(email.ToString());
}
catch (SmtpException esException)
{
Errors.Add("Error sending to " + email + " " + esException.Message);
}
catch (Exception ex)
{
Errors.Add("Error sending to " + email + " " + ex.Message);
}
}
var message = new StringBuilder();
message.AppendLine(Success.Count() + " Sent Successfully");
message.AppendLine(Errors.Count() + " Errors Click See Error Log for more information");
if (CustomMessageBox.ShowYesNo(message.ToString(),
"Result",
"Ok",
"View Log") != MessageBoxResult.No) return;
using (var sw = new StreamWriter("log.txt"))
{
foreach (var error in Errors)
{
sw.WriteLine(error);
}
Process.Start("log.txt");
}
}
我上面关于Google电子邮件的评论...如果您要通过C#或其他Google批准的应用发送邮件,则需要降低帐户的安全性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.