您现在的位置是:主页>文章>发送邮件实例 网站首页

发送邮件实例


本例使用qq smtp服务器发送邮件(其他的smtp 服务类似)


条件:1:首先需要有一个QQ邮箱 . 2:需要开启POP3/SMTP服务



命名空间需要导入using System.Net.Mail;


以下 ReturnValue是用来承接返回值,可以自主替换。


    public sealed class EmailUtils
    {
        private EmailUtils() { }

        #region 单例
        private static EmailUtils _instance=new EmailUtils();

        public static EmailUtils Instance { get { return _instance; } }
        #endregion

        public static string strHost = "smtp.qq.com";   //STMP服务器地址
        public static string strAccount = "*********@qq.com";       //SMTP服务帐号
        public static string strPwd = "**********";       //SMTP服务密码
        public static string strFrom = "********@qq.com";  //发送方邮件地址
        /// 
        /// 发送邮件
        /// 
        /// 接收方邮件地址
        /// 邮件标题
        /// 邮件正文内容
        /// 
        public ReturnValue SendMail(string email, string title, string content)
        {
            ReturnValue retValue = new ReturnValue();

            SmtpClient _smtpClient = new SmtpClient();
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            _smtpClient.Host = strHost; ;//指定SMTP服务器
            _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码

            MailMessage _mailMessage = new MailMessage(strFrom, email);
            _mailMessage.Subject = title;//主题
            _mailMessage.Body = content;//内容
            _mailMessage.BodyEncoding = System.Text.Encoding.UTF8;//正文编码
            //_mailMessage.IsBodyHtml = true;//设置为HTML格式
            _mailMessage.Priority = MailPriority.High;//优先级

            try
            {
                _smtpClient.Send(_mailMessage);
                retValue.HasError = false;
                retValue.Message = "邮件发送成功";
                retValue.ReturnObject = true;
            }
            catch(Exception ex)
            {
                retValue.HasError = true;
                retValue.Message = "邮件发送失败:" + ex.Message;
                retValue.ReturnObject = ex.Message;
            }
            return retValue;
        } 
    }

Top