我有一个简单的方法,应该发送下面的电子邮件,但我无法让它工作。
private void sendEmail(string mailto, string mailfrom, string subject, string body)
{
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(Properties.Settings.Default.smtpServer);
mail.From = new MailAddress(Properties.Settings.Default.mailFrom);
mail.To.Add(Properties.Settings.Default.emailTo);
mail.Subject = subject;
mail.Body = body;
SmtpServer.EnableSsl = true;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Port = Properties.Settings.Default.smtpPort;
SmtpServer.Credentials = new System.Net.NetworkCredential(Properties.Settings.Default.smtpServer, Properties.Settings.Default.emailPassword);
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpServer.Timeout = 200000;
SmtpServer.Send(mail);
}
catch (Exception ex)
{
logAndLoad(ex.Message.ToString(), "sendEmail");
}
}
我已经在运行时检查了凭据,端口,服务器等,所有内容都已检出,但我得到了以下内容:
SMTP服务器需要安全连接,否则客户端不需要 认证。服务器响应为:5.5.1需要身份验证。
了解更多信息
我正在尝试使用我的个人Gmail帐户,因此我将其用作mailfrom地址,也作为凭据的一部分。密码是100%正确,我正在尝试使用端口587和smtp服务器smtp.gmail.com
任何想法都会非常感激。
问题与建议的副本有所不同,因为我已经尝试了那里的步骤,我已经在使用System.Net.Mail
请参阅修改后的代码,它与其他问题中的建议相符,但仍然失败。