• 邮件帮助类


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Mail;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace LogTest
    {
        /// <summary>
        /// 邮件帮助类
        /// </summary>
        public class MailHelper
        {
            /// <summary>
            /// 邮件服务器地址
            /// </summary>
            private static string MailServer = "smtp.ym.163.com";
            /// <summary>
            /// 用户名
            /// </summary>
            private static string MailUserName = "sendbug@infoearth.cn";
            /// <summary>
            /// 密码
            /// </summary>
            private static string MailPassword = "infoearth123";
            /// <summary>
            /// 名称
            /// </summary>
            private static string MailName = "邮件中心";
            /// <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 static 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 ex)
                {
                    Console.WriteLine(ex.ToString());
                    return false;
                }
            }
    
            /// <summary>
            /// 异步发送邮件 独立线程
            /// </summary>
            /// <param name="to">邮件接收人</param>
            /// <param name="title">邮件标题</param>
            /// <param name="body">邮件内容</param>
            /// <param name="port">端口号</param>
            /// <returns></returns>
            public static void SendByThread(string to, string title, string body, int port = 25)
            {
                new Thread(new ThreadStart(delegate ()
                {
                    try
                    {
                        SmtpClient smtp = new SmtpClient();
                        //邮箱的smtp地址
                        smtp.Host = MailServer;
                        //端口号
                        smtp.Port = port;
                        //构建发件人的身份凭据类
                        smtp.Credentials = new NetworkCredential(MailUserName, MailPassword);
                        //构建消息类
                        MailMessage objMailMessage = new MailMessage();
                        //设置优先级
                        objMailMessage.Priority = MailPriority.High;
                        //消息发送人
                        objMailMessage.From = new MailAddress(MailUserName, "提醒", System.Text.Encoding.UTF8);
                        //收件人
                        objMailMessage.To.Add(to);
                        //标题
                        objMailMessage.Subject = title.Trim();
                        //标题字符编码
                        objMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
                        //正文
                        objMailMessage.Body = body.Trim();
                        objMailMessage.IsBodyHtml = true;
                        //内容字符编码
                        objMailMessage.BodyEncoding = System.Text.Encoding.UTF8;
                        //发送
                        smtp.Send(objMailMessage);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.ToString());
                    }
    
                })).Start();
            }
        }
    }
      发送邮件调用: MailHelper.Send("receivebug@learun.cn", " 邮件主题", "邮件内容");
  • 相关阅读:
    清除陷入CLOSE_WAIT的进程
    Eclipse
    远程连接elasticsearch遇到的问题
    Linux环境Nginx安装
    CentOS安装mysql
    py2exe使用方法
    Python3.4如何读写Excel
    getPhysicalNumberOfCells 与 getLastCellNum的区别
    浅析MySQL中exists与in的使用
    【MongoDB for Java】Java操作MongoDB
  • 原文地址:https://www.cnblogs.com/macT/p/11046158.html
Copyright © 2020-2023  润新知