.net中如何实现邮件发送功能

2025-11-13 05:04:32

1、新建MailHelper类,将需要用到的包引入到文件中,具体引入方法如下:

using System;

using System.Net;

using System.Net.Mail;

.net中如何实现邮件发送功能

2、编写邮件的发送方法,主要使用到了MailMessage、SmtpClient类型,MailMessage主要是组装邮件的内容,SmtpClient连接服务器,并发送。首选,设置邮件内容:

MailMessage message = new MailMessage();

                // 接收人邮箱地址

                message.To.Add(new MailAddress(to));

                message.From = new MailAddress(MailUserName, MailName);

                message.BodyEncoding = Encoding.GetEncoding(encoding);

                message.Body = body;

                //GB2312

                message.SubjectEncoding = Encoding.GetEncoding(encoding);

                message.Subject = subject;

                message.IsBodyHtml = isBodyHtml;

.net中如何实现邮件发送功能

3、然后,设置邮件的服务器地址及端口,设置邮件的用户名和密码,具体实现如下:

   SmtpClient smtpclient = new SmtpClient(MailServer, 25);

                smtpclient.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword);

                //SSL连接

                smtpclient.EnableSsl = enableSsl;

                smtpclient.Send(message);

.net中如何实现邮件发送功能

4、将上述的方法编写的方法,组装成一个方法,这样可以方便调用,如下:

 /// <summary>

        /// 同步发送邮件

        /// </summary>

        /// <param name="to">收件人邮箱地址</param>

        /// <param name="subject">主题</param>

        /// <param name="body">内容</param>

        /// <param name="encoding">编码</param>

        /// <param name="isBodyHtml">是否Html</param>

        /// <param name="enableSsl">是否SSL加密连接</param>

        /// <returns>是否成功</returns>

        public bool Send(string to, string subject, string body, string encoding = "UTF-8", bool isBodyHtml = true, bool enableSsl = false)

        {

            try

            {

                MailMessage message = new MailMessage();

                // 接收人邮箱地址

                message.To.Add(new MailAddress(to));

                message.From = new MailAddress(MailUserName, MailName);

                message.BodyEncoding = Encoding.GetEncoding(encoding);

                message.Body = body;

                //GB2312

                message.SubjectEncoding = Encoding.GetEncoding(encoding);

                message.Subject = subject;

                message.IsBodyHtml = isBodyHtml;

                SmtpClient smtpclient = new SmtpClient(MailServer, 25);

                smtpclient.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword);

                //SSL连接

                smtpclient.EnableSsl = enableSsl;

                smtpclient.Send(message);

                return true;

            }

            catch (Exception)

            {

                throw;

            }

        }

.net中如何实现邮件发送功能

5、编写上述方法后,直接用方法,可以实现发送邮件的功能,具体调用方法如下:

MailHelper mail = new MailHelper();

            mail.MailServer = Configs.GetValue("MailHost");

            mail.MailUserName = Configs.GetValue("MailUserName");

            mail.MailPassword = Configs.GetValue("MailPassword");

            mail.MailName = "我是小编";

            mail.SendByThread(account, title, content);

            return Success("发送成功。");

.net中如何实现邮件发送功能

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢