当前位置: 代码迷 >> ASP.NET >> 急布置服务器后,发送邮件失败,求大侠赐教哈,服务器是server 2008
  详细解决方案

急布置服务器后,发送邮件失败,求大侠赐教哈,服务器是server 2008

热度:8571   发布时间:2013-02-25 00:00:00.0
急啊!!!!布置服务器后,发送邮件失败,求大侠指教哈,服务器是server 2008
C# code
            string fromAddress = "***@gmail.com";            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();            msg.To.Add(targetAddress);            msg.From = new System.Net.Mail.MailAddress(fromAddress,"***");            msg.BodyEncoding = System.Text.Encoding.UTF8;            /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/            msg.Subject = title;//邮件标题             msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码             msg.Body = content;//邮件内容             msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码             msg.IsBodyHtml = true;//是否是HTML邮件             msg.Priority = System.Net.Mail.MailPriority.High;//邮件优先级             System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();            client.Credentials = new System.Net.NetworkCredential(fromAddress, "***");            //上述写你的GMail邮箱和密码             client.Port = 587;//Gmail使用的端口             client.Host = "smtp.gmail.com";            client.EnableSsl = true;//经过ssl加密             object userState = msg;            client.SendAsync(msg, userState);


以上是我发邮件的代码

在本地是可以成功的,测了N次,发到服务器上时,就发送不了,无任何异常信息,求大侠指教下哈,急

------解决方案--------------------------------------------------------
你的服务器是独立服务器吗?带硬件防火墙吗?如果有硬件防火墙,应该把smtp端口打开,一般防火墙只默认打开的smtp端口是25,经过ssl加密的端口是关闭的。另外跟你的服务器提供商也有关系,有些服务器提供商只允许使用他们自己的smtp服务器转发,使用自己的smtp是不能发送的(比如godaddy的空间和服务器)
------解决方案--------------------------------------------------------
关闭防火墙设置Smtp的2个端口号
Smtp无法夸防火墙,而且Smtp协议是根据网站邮箱版本来定
2000年以前基本都是Smtp协议
  相关解决方案