コード例 #1
0
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="MailTo">接收人用户名,单封邮件</param>
        /// <param name="MailSubject">邮件主题</param>
        /// <param name="MailBody">邮件内容</param>
        /// <param name="IsHtml">邮件正文是否为HTML格式</param>
        /// <param name="MailFrom">发件人邮箱地址</param>
        /// <param name="MailFromName">发件人署名</param>
        /// <param name="MailPwd">发件人邮箱密码</param>
        /// <param name="MailSmtpHost">发件人邮箱Host,如"smtp.sina.com"</param>
        public static bool SendOK(string MailTo, string MailSubject, string MailBody, bool IsHtml, string MailFrom, string MailFromName, string MailPwd, string MailSmtpHost)
        {
            JumboECMS.Utils.Mail.MailMessage message = new JumboECMS.Utils.Mail.MailMessage();
            message.MaxRecipientNum = 80;//最大收件人
            message.From            = System.Configuration.ConfigurationManager.AppSettings["JumboECMS:WebmasterEmail"];
            message.FromName        = MailFromName;
            string[] _mail = MailTo.Split(',');
            for (int j = 0; j < _mail.Length; j++)
            {
                message.AddRecipients(_mail[j]);
            }
            message.Subject = MailSubject;
            if (IsHtml)
            {
                message.BodyFormat = JumboECMS.Utils.Mail.MailFormat.HTML;
            }
            else
            {
                message.BodyFormat = JumboECMS.Utils.Mail.MailFormat.Text;
            }
            message.Priority = JumboECMS.Utils.Mail.MailPriority.Normal;
            message.Body     = MailBody;
            JumboECMS.Utils.Mail.SmtpClient smtp = new JumboECMS.Utils.Mail.SmtpClient(MailSmtpHost);
            if (smtp.Send(message, MailFrom, MailPwd))
            {
                return(true);
            }
            else
            {
                SaveErrLog(MailTo, MailFrom, MailFromName, MailSmtpHost, smtp.ErrMsg);
                return(false);
            }

            //try
            //{
            //    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
            //    message.From = new System.Net.Mail.MailAddress(MailFrom, MailFromName, Encoding.GetEncoding("gb2312"));
            //    string[] _mail = MailTo.Split(',');
            //    for (int j = 0; j < _mail.Length; j++)
            //    {
            //        message.To.Add(_mail[j]);
            //    }
            //    message.Subject = MailSubject;
            //    message.Body = MailBody;
            //    message.IsBodyHtml = IsHtml;
            //    message.Priority = System.Net.Mail.MailPriority.Normal;
            //    message.BodyEncoding = Encoding.GetEncoding("gb2312");
            //    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(MailSmtpHost);
            //    smtp.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd);
            //    smtp.Send(message);
            //}
            //catch (Exception)
            //{
            //    return false;
            //}
            //return true;
        }
コード例 #2
0
        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="MailTo">接收人用户名,单封邮件</param>
        /// <param name="MailSubject">邮件主题</param>
        /// <param name="MailBody">邮件内容</param>
        /// <param name="IsHtml">邮件正文是否为HTML格式</param>
        /// <param name="_MailServer"></param>
        /// <returns></returns>
        public static bool SendOK(string MailTo, string MailSubject, string MailBody, bool IsHtml, JumboECMS.Entity.MailServer _MailServer)
        {
            if (_MailServer == null)
            {
                return(false);
            }
            if (_MailServer.FromAddresss.Count == 0)
            {
                return(false);
            }
            bool _SendOK = false;

            for (int i = 0; i < _MailServer.FromAddresss.Count; i++)
            {
                JumboECMS.Utils.Mail.MailMessage message = new JumboECMS.Utils.Mail.MailMessage();
                message.MaxRecipientNum = 80;//最大收件人
                message.From            = System.Configuration.ConfigurationManager.AppSettings["JumboECMS:WebmasterEmail"];
                message.FromName        = _MailServer.FromNames[i].ToString();
                string[] _mail = MailTo.Split(',');
                for (int j = 0; j < _mail.Length; j++)
                {
                    message.AddRecipients(_mail[j]);
                }
                message.Subject = MailSubject;
                if (IsHtml)
                {
                    message.BodyFormat = JumboECMS.Utils.Mail.MailFormat.HTML;
                }
                else
                {
                    message.BodyFormat = JumboECMS.Utils.Mail.MailFormat.Text;
                }
                message.Priority = JumboECMS.Utils.Mail.MailPriority.Normal;
                message.Body     = MailBody;
                JumboECMS.Utils.Mail.SmtpClient smtp = new JumboECMS.Utils.Mail.SmtpClient(_MailServer.SmtpHosts[i].ToString());
                if (smtp.Send(message, _MailServer.FromAddresss[i].ToString(), _MailServer.FromPwds[i].ToString()))
                {
                    string strXmlFile = HttpContext.Current.Server.MapPath("~/_data/config/jcms(emailserver).config");
                    JumboECMS.DBUtility.XmlControl XmlTool = new JumboECMS.DBUtility.XmlControl(strXmlFile);
                    XmlTool.Update("Mails/Mail[FromAddress=\"" + _MailServer.FromAddresss[i].ToString() + "\"]/Used", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    XmlTool.Save();
                    XmlTool.Dispose();
                    _SendOK = true;
                    SaveSucLog(MailTo, _MailServer.FromAddresss[i].ToString(), _MailServer.FromNames[i].ToString(), _MailServer.SmtpHosts[i].ToString());
                    break;//跳出循环
                }
                else
                {
                    SaveErrLog(MailTo, _MailServer.FromAddresss[i].ToString(), _MailServer.FromNames[i].ToString(), _MailServer.SmtpHosts[i].ToString(), smtp.ErrMsg + "\r\n当前共有:" + _MailServer.FromAddresss.Count + "个发件人在队列中.");
                    continue;
                }
                //try
                //{
                //    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
                //    message.From = new System.Net.Mail.MailAddress(_MailServer.FromAddresss[i].ToString(), _MailServer.FromNames[i].ToString(), Encoding.GetEncoding("gb2312"));
                //    string[] _mail = MailTo.Split(',');
                //    for (int j = 0; j < _mail.Length; j++)
                //    {
                //        message.To.Add(_mail[j]);
                //    }
                //    message.Subject = MailSubject;
                //    message.Body = MailBody;
                //    message.IsBodyHtml = IsHtml;
                //    message.Priority = System.Net.Mail.MailPriority.Normal;
                //    message.BodyEncoding = Encoding.GetEncoding("gb2312");
                //    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(_MailServer.SmtpHosts[i].ToString());
                //    smtp.Credentials = new System.Net.NetworkCredential(_MailServer.FromAddresss[i].ToString(), _MailServer.FromPwds[i].ToString());
                //    smtp.Send(message);
                //    string strXmlFile = HttpContext.Current.Server.MapPath("~/_data/config/jcms(emailserver).config");
                //    JumboECMS.DBUtility.XmlControl XmlTool = new JumboECMS.DBUtility.XmlControl(strXmlFile);
                //    XmlTool.Update("Mails/Mail[FromAddress=\"" + _MailServer.FromAddresss[i].ToString() + "\"]/Used", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                //    XmlTool.Save();
                //    XmlTool.Dispose();
                //    _SendOK = true;
                //    break;//跳出循环
                //}
                //catch (Exception)
                //{ }
            }
            return(_SendOK);
        }