![](/img/trans.png)
[英]Smtp.Send throws no error when reciepent has incorrect email address
[英]C# Smtp.Send not working for specific email address
除了一个用户的电子邮件地址(每个人都有相同的“ @OurCompany”域名)外,此代码没有任何问题。
我已经通过Outlook向他发送了一封电子邮件,一切顺利。 运行代码时不会引发任何异常,但是我们的SysAdmin表示我尝试发送的电子邮件甚至都没有发送到服务器电子邮件。
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);
}
}
}
这是一种可以使您免于头痛的简单方法
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);
};
}
原来,SendGrid已将电子邮件丢弃,然后才以“退回地址”为由将其发送到我们的电子邮件服务器。 SysAdmin认为电子邮件服务器可能已关闭,导致电子邮件地址被添加到“不存在”列表中。 该地址已从列表中删除,现在可以使用。
谢谢你的建议
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.