C#错误使用gmail或hotmail发送电子邮件

时间:2016-10-16 07:00:28

标签: c# sockets gmail hotmail

在我的应用程序中,我需要通过C#发送电子邮件(使用Gmail或Hotmail) 在localhost它工作正常没有错误,但当上传到Godaddy托管所有时间我有错误像

的Hotmail: 代码:

            SmtpClient SmtpServer = new SmtpClient("smtp-mail.outlook.com");
            var mail = new MailMessage();
            mail.From = new MailAddress("xxxxx@hotmail.com");
            mail.To.Add(ReciverMail);
            mail.Subject = "Test Mail - 1";
            mail.IsBodyHtml = true;
            string htmlBody;
            htmlBody = "Write some HTML code here";
            mail.Body = htmlBody;
            SmtpServer.Port = 587;
            SmtpServer.UseDefaultCredentials = false;
            SmtpServer.Credentials = new System.Net.NetworkCredential("xxxxx@outlook.com", "xxxxx");
            SmtpServer.EnableSsl = true;
            SmtpServer.Send(mail);

            return "Mail has been successfully sent!";

错误: enter image description here

的Gmail: 代码:

            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("xxx", "xxxx");
            msg.Subject = "From ASU  at " + DateTime.Now.ToString();
            msg.To.Add(ReciverMail);
            msg.Body = "Test";
            msg.IsBodyHtml = true;

            SmtpClient client = new SmtpClient();
            client.UseDefaultCredentials = false;
            client.Host = "smtp.gmail.com";
            client.Port = 587;
            client.EnableSsl = true;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.Credentials = new NetworkCredential("xxxx@gmail.com", "xxxxx");
            client.Timeout = 20000;
           
            client.Send(msg);
            return "Mail has been successfully sent!";

错误: enter image description here

1 个答案:

答案 0 :(得分:0)

请确认您的Godaddy托管防火墙允许出站流量,并且您没有被防病毒软件阻止。

基本上Windows防火墙会产生此错误。 SMTP尝试在端口587上发布到GMAIL和Hotmail。将端口587添加到出站规则[出站HTTP / SMTP / RDP]将解决此问题。