阿里云ECS服务器邮件发送失败问题

本文属于个人原创作品、个人总结,谢绝转载、抄袭。如果您有疑问或者希望沟通交流,可以联系QQ:865562060。

一、简述

在企业内部服务器上开发完成的邮件发送功能,在企业服务器迁移阿里云ECS服务器之后会遇到邮件无法正常发送的问题。 这是因为阿里云ECS服务器强制了邮件加密策略,所以我们需要修改邮件发送功能,开启邮件发送时的SSL加密。

二、示例

以下代码源码地址为:https://github.com/Menyoupingxiaoguo/AliyunSendMail。自定义类都在项目中,请自行下载。

如果我的代码对您有帮助,请给博主的github项目一个star,谢谢!

        public static string from = ConfigurationManager.AppSettings["from"];
        public static string fromName = ConfigurationManager.AppSettings["fromName"];
        public static string password = ConfigurationManager.AppSettings["password"];
        public static string strHost = ConfigurationManager.AppSettings["strHost"];
        public static int iPort = 465;
        static void Main(string[] args)
        {
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();

            msg.To.Add(ConfigurationManager.AppSettings["to"]);
            msg.From = new MailAddress(from, fromName, System.Text.Encoding.UTF8);

            msg.Subject = "邮件标题";//邮件标题    
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码   
            AlternateView htmlBody = AlternateView.CreateAlternateViewFromString("测试" + DateTime.Now.ToString("yyyyMMddHHssmm") + new Random().Next(10000), null, "text/html");
            msg.AlternateViews.Add(htmlBody);
            //msg.Body = body; //邮件内容    
            msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码    
            msg.IsBodyHtml = true;//,false;//是否是HTML邮件    
            msg.Priority = MailPriority.High;//邮件优先级 
            
            SmtpClient client = new SmtpClient();
            client.Credentials = new System.Net.NetworkCredential(from, password);

            client.Port = iPort;//25 465;//qqmail使用的端口    
            client.Host = strHost;
            client.EnableSsl = true;//经过ssl加密    
            object userState = msg;

            try
            {
                client.Send(msg);
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                throw ex;
            }
        }

 

你可能感兴趣的:(阿里云)