欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.NET ASP.NET发送邮件

程序员文章站 2022-03-09 10:41:18
...

发送邮件和拼接内容的一个方法

 #region 发送邮件
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="subject">邮件标题</param>
        /// <param name="body">邮件内容,html格式</param>
        /// <param name="shouname">收件人</param>
        public void SendMailAsync(string subject, string body, string shouname)
        {
            MailMessage msg = new MailMessage();//smt类发送邮件
            msg.To.Add(shouname);//收件人邮件地址 格式:******@qq.com、******@163.com
            msg.BodyEncoding = Encoding.Default;//邮件正文文字编码
            msg.SubjectEncoding = Encoding.Default;//邮件标题文字编码
            msg.IsBodyHtml = true;
            msg.From = new MailAddress("[email protected]");//发件人邮件地址和名称  格式:******@qq.com,"自己名字"(名字可省略)
            msg.Subject = subject;//邮件标题
            msg.Body = body;//邮件正文
            SmtpClient Client = new SmtpClient("smtp.163.com", 25);//创建mail协议(IP地址和端口)  //推荐设置25端口号  //smtp.163.com
            // [端口怎么设置](http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371)
            //foxmail以前是个独立的邮件平台之后被腾讯收购(你发的邮件和收的邮件在qq邮箱和foxmail是同步的),网站中看完Foxmail设置就可以了下面设置就不用看了
            Client.EnableSsl = true;//开启加密连接
            Client.Credentials = new NetworkCredential("[email protected]", "XXXXXX");//要发送人的邮箱和授权码,授权码在qq邮箱那边开启stmp后可复制过来,也可以用密码
            Client.Send(msg);//发送到smtp服务器等待服务器再发送到收件人邮箱
        }
#endregion

        #region 邮件内容
        /// <summary>
        /// 邮件内容
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <param name="urlpwd">找回密码地址</param>
        /// <param name="indexer">网站网址</param>
        /// <param name="webname">网站名称</param>
        /// <returns></returns>
        public string AddEmailBody(string userName, string urlpwd, string indexer, string webname)
        {
            StringBuilder sbBody = new StringBuilder();
            sbBody.AppendFormat("<div style=\"text-align:left\">亲爱的会员用户:{0}<br/>",userName);
            sbBody.AppendFormat("请点击以下链接完成重置密码(如无法打开请把此链接复制粘贴到浏览器打开):<br/>");
            sbBody.AppendFormat("{0}<br/>",urlpwd);
            sbBody.AppendFormat("此邮件由<a href='{0}'>{1}</a>自动发送,请勿回复!<br/>", indexer, webname);
            sbBody.AppendFormat("若要了解更多信息,请访问我们的官方网站,网址为:{0}<br/></div>", indexer);
            sbBody.AppendFormat("<div style=\"text-align:right\">{0}</div>", DateTime.Now.ToString("yyyy年MM月dd日"));

            return sbBody.ToString();
        }
        #endregion
相关标签: # ASP.NET .NET