Beispiel #1
0
        /// <summary>
        /// SmtpClientSend
        /// </summary>
        /// <param name="mailConfig"></param>
        /// <param name="message"></param>
        private static void SmtpClientSend(MailConfig mailConfig, MailMessage message)
        {
            var sender = new SmtpClient();

            sender.UseDefaultCredentials = false;
            sender.DeliveryMethod        = SmtpDeliveryMethod.Network;
            try
            {
                message.IsBodyHtml = mailConfig.IsHtml;
                message.From       = new MailAddress(mailConfig.From, mailConfig.DisplayName);
                sender.Host        = mailConfig.Host;
                sender.Port        = mailConfig.Port;
                sender.Credentials = new NetworkCredential(mailConfig.User, mailConfig.Password);
                sender.EnableSsl   = mailConfig.EnableSsl;
                sender.Send(message);
            }
            catch (Exception e)
            {
                var defultConfig = MailConfig.Defult;
                //发送异常一般为发送邮箱配置有误,这里提供一个默认发件邮箱。
                message.From       = new MailAddress(defultConfig.From, defultConfig.DisplayName);    // "*****@*****.**", "Mafly"
                message.IsBodyHtml = true;
                sender.Host        = defultConfig.Host;                                               //"smtp.163.com";
                sender.Port        = defultConfig.Port;                                               // 25;
                sender.Credentials = new NetworkCredential(defultConfig.User, defultConfig.Password); // "*****@*****.**", "vzihlbquwnriqlht"
                sender.EnableSsl   = false;
                message.Body      += e.ToString();
                sender.Send(message);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="info">接收人信息 MailUnity.MailInfo </param>
        /// <param name="mailConfig">发件邮箱配置</param>
        /// <param name="message">默认为null。 System.Net.Mail.MailMessage </param>
        /// <param name="isSingleSend">是否群发单显。当邮件接收人为多个时,可选择该模式,即可对多个收件人分别发送,收件方不会知道这封邮件有多个收件人</param>
        public static void Send(MailConfig mailConfig, MailInfo info)
        {
            var message = new MailMessage();

            if (!string.IsNullOrEmpty(info.Replay))
            {
                message.ReplyTo = new MailAddress(info.Replay);
            }

            var cc = string.Join(",", info.SubReceivers.ToArray());

            if (!string.IsNullOrEmpty(cc))
            {
                message.CC.Add(cc);
            }

            var to = string.Join(",", info.Receivers.ToArray());

            if (!string.IsNullOrEmpty(to))
            {
                message.To.Add(to);
            }

            if (!string.IsNullOrEmpty(info.Subject))
            {
                message.Subject = info.Subject;
            }

            if (!string.IsNullOrEmpty(info.Body))
            {
                message.Body = info.Body;
            }

            foreach (var item in info.Files)
            {
                message.Attachments.Add(item);
            }

            SmtpClientSend(mailConfig, message);
        }
Beispiel #3
0
 /// <summary>
 /// 使用指定的 MailUnity.Config 类对象初始化 MailUnity 类的新实例。
 /// </summary>
 /// <param name="config">包含邮件配置信息的 MailUnity.Config。</param>
 public Mail(MailConfig config)
 {
     mailConfig = config;
 }
Beispiel #4
0
 /// <summary>
 /// 初始化 MailUnity 的空实例
 /// 默认读取程序运行目录的下的Config/MailSetting.config文件
 /// </summary>
 public Mail()
 {
     mailConfig = MailConfig.Defult;
 }