C#无法发送hotmail

问题描述 投票:0回答:2

这是我的代码:

            MailAddress to = new MailAddress("[email protected]");
            MailAddress from = new MailAddress("[email protected]");
            MailMessage message = new MailMessage(from, to);
            message.Subject = "Message du siute as-quebec.net de: " + EmailToSend.Email;
            message.Body = EmailToSend.Message;
            SmtpClient client = new SmtpClient("smtp.live.com");
            client.Credentials = new System.Net.NetworkCredential("[email protected]", "PASSWORD");
            client.Send(message);

我有这个错误:

System.Net.Mail.SmtpException:“发送邮件失败。”

ExtendedSocketException: 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。

一些想法我做错了什么?

c# email smtp hotmail
2个回答
0
投票

尝试这样的事情:

Message message = new Message();
            message.From = "[email protected]";
            message.To = "[email protected]";
            message.Subject = $"New mail from {message.From}";
            message.Body = "something";
            using (var smtp = new SmtpClient())
            {
                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                var msg = new MailMessage
                {
                    Body = message.Body,
                    Subject = message.Subject,
                    From = new MailAddress(message.From)
                };
                msg.To.Add(message.To);
                smtp.Host = "email.active24.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;
                smtp.Credentials = new NetworkCredential("[email protected]", password);
                smtp.SendMailAsync(msg);
            }

您只需要提供商提供的主机和端口


0
投票

使用 SmtpClient 时,如果为 SMTP 服务器名称指定了不正确的值(即:SmtpClient.Host),则会收到以下错误消息:

System.Net.Mail.SmtpException:“发送邮件失败。”

WebException:无法连接到远程服务器

SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立 连接失败,因为连接的主机未能响应


根据POP、IMAP、SMTP设置

SMTP 设置


此外,确保为任何具有 Dispose 方法的对象调用 Dispose。最简单的方法是使用 using 语句(或 using 声明)。

尝试以下操作:

private void SendEmailOutlook(string toAddress, string fromAddress, string subject, string messageText, bool isHtmlMessage, string username, string password)
{
    MailAddress from = new MailAddress(fromAddress);

    using (SmtpClient client = new SmtpClient("smtp.office365.com", 587) { DeliveryMethod = SmtpDeliveryMethod.Network, EnableSsl = true, UseDefaultCredentials = false })
    {
        client.Credentials = new System.Net.NetworkCredential(username, password);

        MailAddress to = new MailAddress(toAddress);

        using (MailMessage message = new MailMessage(from, to) { IsBodyHtml = isHtmlMessage })
        {
            message.Subject = subject;
            message.Body = messageText;

            client.Send(message);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.