【问题标题】:C# Smtp.Send not working for specific email addressC# Smtp.Send 不适用于特定的电子邮件地址
【发布时间】:2016-04-17 14:55:02
【问题描述】:

除了一个用户的电子邮件地址(每个人都有相同的“@OurCompany”域名)之外,我对这段代码没有任何问题。

我已经通过 Outlook 向他发送了一封电子邮件,并且顺利。运行代码时没有抛出异常,但我们的系统管理员说我尝试发送的电子邮件甚至没有通过电子邮件发送到服务器。

public static void SendEmail(string sTo, string sSubject, string sBody)
{
    using (MailMessage message = new MailMessage(new MailAddress(ConfigurationManager.AppSettings["FromUser"], "User"), new MailAddress(sTo))
    {
        Subject = sSubject,
        Body = sBody
    })
    {
        using (var client = new SmtpClient(ConfigurationManager.AppSettings["SMTPGridName"]))
        {
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
            client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailCredential"],
                ConfigurationManager.AppSettings["EmailPassword"]);
            client.EnableSsl = true;
            client.Send(message);
        }
    }
}

【问题讨论】:

  • 这个特定的电子邮件地址有什么不同?里面有什么特殊字符吗?在 Outlook 中,您是输入电子邮件地址还是从地址列表中选择的?

标签: c# smtp smtpclient


【解决方案1】:

这里有一个简单的方法可以让你省去很多麻烦

public static void SendEmail(string sTo, string subject, string body)
{
    var Port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);
    using (var client = new SmtpClient(Your EmailHost, Port))
    using (var message = new MailMessage()
    {
        From = new MailAddress(FromEmail),
        Subject = subject,
        Body = body
    })
    {
        message.To.Add(sTo);
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailCredential"],
                ConfigurationManager.AppSettings["EmailPassword"]);
        client.EnableSsl = true;
        client.Send(message);
    };
}

【讨论】:

    【解决方案2】:

    事实证明,这些电子邮件在到达我们的电子邮件服务器之前就被 SendGrid 丢弃了,原因是“退回地址”。系统管理员认为电子邮件服务器可能在某一时刻出现故障,导致电子邮件地址被添加到“不存在”列表中。该地址已从列表中删除,现在可以使用。

    感谢您的建议

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 2015-04-09
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      相关资源
      最近更新 更多