无法使用C#使用Outlook SMTP传递邮件

时间:2017-09-10 16:26:47

标签: c# outlook smtpclient

我正在尝试从我的C#应用​​程序发送电子邮件。我正在使用SmtpClient类和Outlook SMTP服务器来执行此操作。

这是我的代码:

static void Main(string[] args)
{
    string _sender = "testFromMail@outlook.com";
    string _password = "myTestPassword";

    SmtpClient client = new SmtpClient("smtp-mail.outlook.com");

    client.Port = 587;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false;
    System.Net.NetworkCredential credentials =
        new System.Net.NetworkCredential(_sender, _password);
    client.EnableSsl = true;
    client.Credentials = credentials;

    MailMessage message = new MailMessage(_sender, "testToMail.com");
    message.Subject = "new subj";
    message.Body = "new body";
    client.Send(message);
}

我的代码成功运行,没有任何例外。

问题是,电子邮件无法发送给收件人。当我打开发件人邮件的收件箱时,它说邮件无法送达,因为 它触发了垃圾过滤器。

Screenshot of the Failed Mail

我认为这与未发送到SMTP客户端类的任何参数或我需要在发件人邮件中配置的任何安全设置有关。

任何建议都会有很大的帮助!

1 个答案:

答案 0 :(得分:0)

错误5.4.0表示存在DNS /名称查找问题。在这种情况下,这是因为您正在尝试向'testToMail.com'发送邮件。这不是有效的电子邮件地址。