阿里云主机用QQ邮箱发送邮件

来源:互联网 发布:农村淘宝怎么解绑 编辑:程序博客网 时间:2024/06/04 18:45

由于阿里云禁用了25端口,所以替换成587端口并修改协议为ssl才能发送邮件。

如何获取QQ邮箱授权码?:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

        /// <summary>        /// 发送QQ邮件        /// </summary>        /// <param name="sender">发件人</param>        /// <param name="senderEmail">发件人QQ邮箱</param>        /// <param name="serviceNum">发件人QQ邮箱服务码</param>        /// <param name="receiver">接收邮箱</param>        /// <param name="title">邮件主题</param>        /// <param name="body">邮件内容</param>        /// <param name="attachments">邮件附件</param>        /// <returns></returns>        public static string QQEmailSend(string sender, string senderEmail, string serviceNum, string receiver, string title, string body, string[] attachments = null)        {            string result;            var mail = new MailMessage();            var client = new SmtpClient();            try            {                mail.From = new MailAddress(sender + " " + "<" + senderEmail + ">");                mail.To.Add(new MailAddress(receiver));                mail.BodyEncoding = Encoding.UTF8;                mail.IsBodyHtml = true;                mail.SubjectEncoding = Encoding.UTF8;                mail.Priority = MailPriority.Normal;                mail.Body = body;                mail.Subject = title;                //添加附件                if (attachments != null && attachments.Length > 0)                {                    foreach (var path in attachments)                    {                        if (File.Exists(path))                        {                            var attachFile = new Attachment(path);                            mail.Attachments.Add(attachFile);                        }                    }                }                client.Host = "smtp.qq.com";                client.Port = 587; //端口                client.DeliveryMethod = SmtpDeliveryMethod.Network;                client.EnableSsl = true;                client.UseDefaultCredentials = false;                client.Credentials = new NetworkCredential(senderEmail, serviceNum);                client.Send(mail);                result = "true";            }            catch (Exception ex)            {                result = ex.Message;            }            return result;        }    }
 client.Port = 587; //端口
 client.EnableSsl = true;
 client.UseDefaultCredentials = false;
 client.Credentials = new NetworkCredential(senderEmail, serviceNum);


原创粉丝点击