【问题标题】:Cannot get c# to send email from hotmail无法让 c# 从 hotmail 发送电子邮件
【发布时间】:2017-07-30 10:58:40
【问题描述】:

当我运行这段代码时,我得到一个错误:

System.Net.Mail.SmtpException:发送邮件失败。 ---> System.Net.WebException:无法连接到远程服务器 ---> System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应 时间,或建立连接失败,因为连接的主机有 未能响应 65.55.163.152:587

代码:

static void Main(string[] args) 
{
    string smtpAddress = "smtp.live.com";
    int portNumber = 587;
    bool enableSSL = true;
    string emailFrom = "xxxxx@hotmail.co.uk";
    string password = "xxxxxxxxxxx";
    string emailTo = "myname@businessemail.co.uk";
    string subject = "Daily Email Check";
    string body = "Email reached business exchange server from an external hotmail email account";

    using (MailMessage mail = new MailMessage())
    {
        mail.From = new MailAddress(emailFrom);
        mail.To.Add(emailTo);
        mail.Subject = subject;
        mail.Body = body;
        mail.IsBodyHtml = false;

        try 
        {
            using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
            {
                smtp.Credentials = new NetworkCredential(emailFrom, password);
                smtp.EnableSsl = enableSSL;
                smtp.Send(mail);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Error\n\n {0}", e);
            Console.ReadKey();
        }
    }
}

【问题讨论】:

  • 你确定你和 smtp.live.com 之间没有防火墙吗?

标签: c# email smtp hotmail


【解决方案1】:

试试这个;

 using System.Net.Mail;

...

MailMessage mail = new MailMessage("xxxxx@hotmail.co.uk", "myname@businessemail.co.uk");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.live.com";
mail.Subject = "Daily Email Check";
mail.Body = "Email reached business exchange server from an external hotmail email account";
client.Send(mail);

【讨论】:

  • 我找到了解决方案。 Hotmail 似乎不支持 STMP。 MailAddress to = new MailAddress(emailaddressReceptor); MailAddress from = new MailAddress(emailaddress); MailMessage message = new MailMessage(from, to); message.Subject = messageSubjectTxt; message.Body = "给我看邮件"; SmtpClient 客户端 = 新 SmtpClient(emailserver); client.Credentials = new System.Net.NetworkCredential("xxxxxx@hotmail.co.uk", "xxxxxxx"); client.Send(message);
猜你喜欢
  • 2016-01-13
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 2012-07-28
  • 2014-11-30
  • 2016-06-03
  • 2017-10-14
相关资源
最近更新 更多