如何从代码发送邮件,而邮件被接收者邮件服务器拒绝

时间:2016-05-12 22:17:09

标签: c# asp.net

当我们向用户发送自动生成的邮件时。通过我们的代码。让我们考虑接收者emailid是Gmail。接收器能够从系统发送的邮件中接收邮件,即系统或生成的代码。如果他们没有设置允许,那么邮件发送失败。如何避免这种情况。如何在不被客户端/用户邮件服务器拒绝的情况下发送邮件。

我试过了:

隐藏复制代码

using (MailMessage mm = new MailMessage("trial@gmail.com", trialEmail.Text)) { mm.Subject = "Send test"; string body = "Hello " ; mm.Body = body; mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential("trial@gmail.com", "password"); smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; smtp.Send(mm); }

Google帐户安全

在“访问安全性较低的应用”部分下,您可以启用从其他设备/应用程序访问您的帐户...例如您的C#应用​​程序。

请注意,不再有“特定于应用程序”部分。

一旦我在接收者邮件帐户中进行此设置,我就可以发送邮件了。但问题是它是默认阻止/关闭。并且大多数用户都没有打开它。有点令人惊讶我们从亚马逊或Facebook网站收到邮件而没有启用此设置。他们为此做了什么?

1 个答案:

答案 0 :(得分:2)

尝试使用" smtp.UseDefaultCredentials = true;" NetworkCredential声明之前的表达式?