赞
踩
最近弄了一个项目,其中一个模块通过163的企业邮箱发送邮件,本机上测试没有问题,部署到阿里云服务器后,总是提示发送邮件失败。
通过查询分析,是由于阿里云服务器为了安全起见,封了25端口,导致25端口不可用,所以,解决步骤如下:
第一:将端口号改成465重试,还是提示发送失败,还是没有解决。
第二:由于端口号改成465,必须在程序中启用SSL加密协议,更改程序后重试,还是没有解决。
第三:几乎快要放弃的时候,再次查询度娘,发现有网友说可以用587端口,迅速更改配置,并且再次优化程序,重试,发送成功,成功解决。
完整代码:
public static void SendEmail(string subject,string content,string host,string from,int port,string pwd,string to) { SmtpClient client = new SmtpClient(); client.EnableSsl = true; client.UseDefaultCredentials = false; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Host = host; client.Port = port; client.Credentials = new NetworkCredential(from,pwd); MailAddress fr = new MailAddress(from); MailAddress t = new MailAddress(to); MailMessage myMail = new MailMessage(fr, t); myMail.Subject = subject; myMail.Body = content; myMail.BodyEncoding = System.Text.Encoding.Default; myMail.IsBodyHtml = true; myMail.Priority = MailPriority.High; myMail.To.Add(to); try { client.Send(myMail); } catch (Exception ex) { throw ex; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。