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.
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批准的应用发送邮件,则需要降低帐户的安全性。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.