电子邮件不会发送到hotmail.com和live.com

时间:2016-09-13 21:33:48

标签: c# email sendmail

我使用以下代码从我的Windows应用程序发送电子邮件:

    public bool SendEmail(string to, string subject, string body, bool isHtml, List<string> bcc, List<string> cc, string fullname)
    {
        var from = "myname@myDomain.com";
        var name = "MyName";
        var toAddress = new MailAddress(to, fullname);
        var fromAddress = new MailAddress(from, name);

        var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body,
            IsBodyHtml = isHtml
        };

        if (bcc != null && bcc.Any())
            foreach (var bccItem in bcc)
                message.Bcc.Add(bccItem);

        if (cc != null && cc.Any())
            foreach (var ccItem in cc)
                message.CC.Add(ccItem);

        var key = "password";
        var domain = "webmail.mydomain.com";

        var smtp = new SmtpClient
        {
            Host = domain,
            Port = 587,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(from, key)
        };

        try
        {
            smtp.Send(message);
            return true;
        }
        catch (Exception exception)
        {
            Console.Write(exception);
            return false;
        }
    }

效果很好,但不是 hotmail.com live.com 以及 outlook.com 。当我尝试发送电子邮件到例如someone@hotmail.com时,程序运行良好,但是someone @ hotmail.com没有收到发送的电子邮件,即使在垃圾文件夹中也是如此。问题是什么?我的错是什么?

1 个答案:

答案 0 :(得分:0)

你检查过hotmail.com了吗?我之前遇到过这个问题,因为hotmail认为我是一个机器人(显然,因为你是从你自己的应用程序发送它已标记它)

所以我要做的是通过outlook.com登录您的hotmail帐户。它很可能会告诉你&#34;验证&#34;那是你的。要解决这个问题,您只需通过手机激活该帐户,如果您从应用程序发送电子邮件,它将不会要求您下次验证。否则,您将不得不登录outlook.com并且&#34;验证&#34;那是你的。可能会一遍又一遍地烦恼。