在尝试通过我的 Web 服务发送电子邮件时,我遇到了错误。 我尝试启用访问较不安全的应用程序、禁用两步验证以及通过 Web 浏览器登录帐户等解决方法,但是 Stack Overflow 上的任何解决方案都没有对我起作用。 我仍然收到以下错误:
Error:System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未经身份验证。 服务器响应为:5.5.1 要求身份验证。
我该怎么做才能解决这个问题?
namespace EmailService
{
public class Service1 : IService1
{
public string SendEmail(string inputEmail, string subject, string body)
{
string returnString = "";
try
{
MailMessage email = new MailMessage();
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
// set up the Gmail server
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("myemail@gmail.com", "mypassword");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
// draft the email
MailAddress fromAddress = new MailAddress("cse445emailservice@gmail.com");
email.From = fromAddress;
email.To.Add(inputEmail);
email.Subject = body;
email.Body = body;
smtp.Send(email);
returnString = "Success! Please check your e-mail.";
}
catch(Exception ex)
{
returnString = "Error: " + ex.ToString();
}
return returnString;
}
}
}