http://CC318.com

一个程序的窝

我的窝窝 http://CC318.com 这里有更多内容,不信你试试.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp.net2.0 发邮件(多线程)

Posted on 2009-02-13 11:18  chaoliu  阅读(269)  评论(0)    收藏  举报

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Net.Mail;
using System.Net;

using System.Threading;

namespace com.XXX.SPMS.Common
{
    /// <summary>
    /// Mail 多进程发mail
    /// </summary>
    public class Mail
    {
        private string subject;
        private string body;
        private string[] mailTo;

        /// <summary>
        /// Mail
        /// </summary>
        /// <param name="mailTo"></param>
        /// <param name="subject"></param>
        /// <param name="body"></param>
        public Mail(string[] mailTo, string subject, string body)
        {
            this.mailTo = mailTo;
            this.subject = subject;
            this.body = body;
        }

        /// <summary>
        /// Send a mail no MultiThread
        /// </summary>
        /// <returns></returns>
        public void Send()
        {
            Send(mailTo, subject, body);
        }

        /// <summary>
        /// Send a mail MultiThread
        /// </summary>
        /// <param name="mailTo"></param>
        /// <param name="subject"></param>
        /// <param name="body"></param>
        /// <returns></returns>
        public static void SendAtBackground(string[] mailTo, string subject, string body)
        {
            Mail newMail = new Mail(mailTo, subject, body);
            Thread thread = new Thread(new ThreadStart(newMail.Send));
            thread.Start();
        }

        /// <summary>
        /// Send
        /// </summary>
        /// <returns></returns>
        private static bool Send(string[] mailTo, string subject, string body)
        {
            MailMessage msg = new MailMessage();
            try
            {
                msg.From = new MailAddress(SPMSConfiguration.MailSender);

                foreach (string address in mailTo)
                {
                    msg.To.Add(address);
                }

                msg.Subject = subject;
                msg.Body = body;

                System.Net.Mail.SmtpClient smtp = new SmtpClient(SPMSConfiguration.SmtpServer);
                smtp.Credentials = new NetworkCredential(SPMSConfiguration.SmtpCredential, SPMSConfiguration.CredentialPassword);

                smtp.Send(msg);
            }
            catch (Exception)
            {
            }
            return true;
        }
    }
}
http://CC318.com