[英]Not able to send mails using Gmail SMTP in C#
mailMessage.From = new MailAddress(fromEmailAddress);
mailMessage.Subject = "Test";
mailMessage.Body = "Manish";
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(toEmailAddress));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 465);
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = userNAme;
NetworkCred.Password = password;
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Send(mailMessage);
我正在嘗試配置Gmail SMTP,並嘗試同時使用TSL和SSL,但是上面的代碼始終拋出TimeOut Exception
我認為您需要將usedefaultcredentials設置為false。 否則,將不會使用您在網絡憑據中設置的用戶名/密碼。
您不想將SmtpClient的UseDefaultCredentials設置為true,因為它將使用https://msdn.microsoft.com/zh-cn/library/system.net.mail的當前登錄用戶的憑據。 smtpclient.usedefaultcredentials%28v = vs.110%29.aspx
另外,通過web.config配置設置可能更有意義,因為任何更改都不需要重新編譯和部署代碼。 在這里回答類似的問題: 通過C#通過Google Apps帳戶發送電子郵件
如果您選擇將smtp設置保留在代碼中,則它應如下所示:
mailMessage.From = new MailAddress(fromEmailAddress);
mailMessage.Subject = "Test";
mailMessage.Body = "Manish";
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(toEmailAddress));
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 465);
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(userNAme, password);
smtp.Send(mailMessage);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.