邮件发送类
来源:互联网 发布:影院售票软件 编辑:程序博客网 时间:2024/05/17 01:59
/*-------------------------------------------------------
* Copyright (C) 2006 江苏微软技术中心
* 版权所有。
*
* 文件名:SMTP.cs
* 文件功能描述:邮件发送类,包含同步和异步发送2种方式,
* 其中每种发送方式都可以选择邮件非必选项(如抄送,附件等)。
*
* 创建标识:韩进宾 20070424
*
* 修改标识:
* 修改描述:
*
* --------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net.Configuration;
using System.Configuration;
using System.Net;
using System.Web.Configuration;
namespace TVasahiBLL
{
public class SMTP
{
#region 邮件发送类
#region Fields
private string _mailFrom;
private string _displayName;
private SmtpClient smtpMail;
#endregion
#region Properties
//出发地油箱设置
public string MailFrom
{
get
{
return _mailFrom;
}
set
{
_mailFrom = value;
}
}
//出发地邮件显示的名字
public string DisplayName
{
get
{
return _displayName;
}
set
{
_displayName = value;
}
}
#endregion
#region Constructors
public SMTP()
{
//app.config中读取smtp服务器信息
//如果此处出现命名空间“System.Configuration”中不存在类型或命名空间名称“Configuration”(是缺少程序集引用吗?)错误请添加System.Configuration即可
Configuration config = WebConfigurationManager.OpenWebConfiguration("~/");
MailSettingsSectionGroup mailSettings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");
string mailFrom = mailSettings.Smtp.From;
string smtpServer = mailSettings.Smtp.Network.Host;
int smtpPort = mailSettings.Smtp.Network.Port;
string smtpUsername = mailSettings.Smtp.Network.UserName;
string password = mailSettings.Smtp.Network.Password;
//此处用户让用户手动输入smtp帐号
//string mailFrom = "";
//string smtpServer = "emailcarrier.vicp.net";
//int smtpPort = 25;
//string smtpUsername = "";
//string password = "";
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(smtpUsername, password);
this._mailFrom = mailFrom;
this._displayName = smtpUsername;
}
public SMTP(string smtpServer, string userName, string password)
: this(null, smtpServer, userName, password)
{
}
/// <summary>
/// 邮件发送类
/// </summary>
/// <param name="mailFrom">发信人</param>
/// <param name="smtpServer">SMTP服务器</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
public SMTP(string mailFrom, string smtpServer, string userName, string password)
: this(mailFrom, mailFrom, smtpServer, userName, password)
{
}
/// <summary>
/// 邮件发送类
/// </summary>
/// <param name="maiFrom">发信人</param>
/// <param name="displayName">显示名称</param>
/// <param name="smtpServer">SMTP服务器</param>
/// <param name="smtpPort">端口</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
public SMTP(string maiFrom, string displayName, string smtpServer, string userName, string password)
: this(maiFrom, displayName, smtpServer, 25, userName, password, false)
{
}
public SMTP(string mailFrom, string displayName, string smtpServer, int smtpPort, string userName, string password, bool smtpSsl)
{
this._mailFrom = mailFrom;
this._displayName = displayName;
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(userName, password);
smtpMail.EnableSsl = smtpSsl;
}
#endregion
#region Methods
#region Public
/// <summary>
/// 邮件类
/// </summary>
/// <param name="mailTo">收信人</param>
/// <param name="mailSubject">题目</param>
/// <param name="mailBody">内容</param>
/// <param name="priority">邮件优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <returns></returns>
public Boolean Send(string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments,
MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return Send(this._mailFrom, this._displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>同步发送邮件
/// 同步发送邮件
/// </summary>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
public Boolean Send(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return SendMail(false, null, mailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
SendAsync(userState, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
SendAsync(userState, this._mailFrom, this._displayName, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, MailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>异步发送邮件
/// 异步发送邮件
/// </summary>
/// <param name="userState"></param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
public void SendAsync(object userState, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, null, null, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="isAsync">是否是同步发送</param>
/// <param name="userState">异步任务的唯一标识符,当 isAsync 为 True 时必须设置该属性, 当 isAsync 为 False 时可设置为 null</param>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
private Boolean SendMail(bool isAsync, object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject,
string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
bool mailSent = false;
if (string.IsNullOrEmpty(mailFrom))
{
mailFrom = this._mailFrom;
}
if (string.IsNullOrEmpty(displayName))
{
displayName = this._displayName;
}
MailMessage Email = GetMailMessage(MailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
smtpMail.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
try
{
if (!isAsync)
{
smtpMail.Send(Email);
mailSent = true;
}
else
{
userState = (userState == null) ? Guid.NewGuid() : userState;
smtpMail.SendAsync(Email, userState);
}
}
catch (SmtpFailedRecipientException ex)
{
throw ex;
mailSent = false;
}
catch (Exception ex)
{
throw ex;
mailSent = false;
}
return mailSent;
}
/// <summary>
/// 邮件信息设置
/// </summary>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
private MailMessage GetMailMessage(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
MailMessage emailMessage = new MailMessage();
if (string.IsNullOrEmpty(mailFrom))//此处还需验证
{
mailFrom = this._mailFrom;
}
if (string.IsNullOrEmpty(displayName))
{
displayName = this._displayName;
}
MailAddress mailFromObject = new MailAddress(mailFrom, displayName);
emailMessage.From = mailFromObject;
//判断邮件数组是否为空,不为空则加入列表
if (mailTos != null)
{
foreach (string mailto in mailTos)
{
if (!string.IsNullOrEmpty(mailto))
{
emailMessage.To.Add(mailto);
}
}
}
//判断抄送
if (mailCcs != null)
{
foreach (string cc in mailCcs)
{
if (!string.IsNullOrEmpty(cc))
{
emailMessage.CC.Add(cc);
}
}
}
//秘件抄送
if (mailBccs != null)
{
foreach (string bcc in mailBccs)
{
if (!string.IsNullOrEmpty(bcc))
{
emailMessage.Bcc.Add(bcc);
}
}
}
//添加附件
if (attachments != null)
{
foreach (string file in attachments)
{
if (!string.IsNullOrEmpty(file))
{
Attachment att = new Attachment(file);
emailMessage.Attachments.Add(att);
}
}
}
emailMessage.Subject = mailSubject;
emailMessage.Body = mailBody;
emailMessage.Priority = priority;
emailMessage.IsBodyHtml = isBodyHtml;
emailMessage.BodyEncoding = bodyEncoding;
return emailMessage;
}
private void SendCompletedCallback(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
bool mailSent = false;
//获得是否异步发送的表识
String token = e.UserState.ToString();
if (e.Cancelled)
{
mailSent = false;
}
if (e.Error != null)
{
mailSent = false;
}
else
{
mailSent = false;
}
mailSent = true;
}
#endregion
#endregion
#endregion
}
}
* Copyright (C) 2006 江苏微软技术中心
* 版权所有。
*
* 文件名:SMTP.cs
* 文件功能描述:邮件发送类,包含同步和异步发送2种方式,
* 其中每种发送方式都可以选择邮件非必选项(如抄送,附件等)。
*
* 创建标识:韩进宾 20070424
*
* 修改标识:
* 修改描述:
*
* --------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Net.Configuration;
using System.Configuration;
using System.Net;
using System.Web.Configuration;
namespace TVasahiBLL
{
public class SMTP
{
#region 邮件发送类
#region Fields
private string _mailFrom;
private string _displayName;
private SmtpClient smtpMail;
#endregion
#region Properties
//出发地油箱设置
public string MailFrom
{
get
{
return _mailFrom;
}
set
{
_mailFrom = value;
}
}
//出发地邮件显示的名字
public string DisplayName
{
get
{
return _displayName;
}
set
{
_displayName = value;
}
}
#endregion
#region Constructors
public SMTP()
{
//app.config中读取smtp服务器信息
//如果此处出现命名空间“System.Configuration”中不存在类型或命名空间名称“Configuration”(是缺少程序集引用吗?)错误请添加System.Configuration即可
Configuration config = WebConfigurationManager.OpenWebConfiguration("~/");
MailSettingsSectionGroup mailSettings = (MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");
string mailFrom = mailSettings.Smtp.From;
string smtpServer = mailSettings.Smtp.Network.Host;
int smtpPort = mailSettings.Smtp.Network.Port;
string smtpUsername = mailSettings.Smtp.Network.UserName;
string password = mailSettings.Smtp.Network.Password;
//此处用户让用户手动输入smtp帐号
//string mailFrom = "";
//string smtpServer = "emailcarrier.vicp.net";
//int smtpPort = 25;
//string smtpUsername = "";
//string password = "";
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(smtpUsername, password);
this._mailFrom = mailFrom;
this._displayName = smtpUsername;
}
public SMTP(string smtpServer, string userName, string password)
: this(null, smtpServer, userName, password)
{
}
/// <summary>
/// 邮件发送类
/// </summary>
/// <param name="mailFrom">发信人</param>
/// <param name="smtpServer">SMTP服务器</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
public SMTP(string mailFrom, string smtpServer, string userName, string password)
: this(mailFrom, mailFrom, smtpServer, userName, password)
{
}
/// <summary>
/// 邮件发送类
/// </summary>
/// <param name="maiFrom">发信人</param>
/// <param name="displayName">显示名称</param>
/// <param name="smtpServer">SMTP服务器</param>
/// <param name="smtpPort">端口</param>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
public SMTP(string maiFrom, string displayName, string smtpServer, string userName, string password)
: this(maiFrom, displayName, smtpServer, 25, userName, password, false)
{
}
public SMTP(string mailFrom, string displayName, string smtpServer, int smtpPort, string userName, string password, bool smtpSsl)
{
this._mailFrom = mailFrom;
this._displayName = displayName;
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(userName, password);
smtpMail.EnableSsl = smtpSsl;
}
#endregion
#region Methods
#region Public
/// <summary>
/// 邮件类
/// </summary>
/// <param name="mailTo">收信人</param>
/// <param name="mailSubject">题目</param>
/// <param name="mailBody">内容</param>
/// <param name="priority">邮件优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <returns></returns>
public Boolean Send(string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public Boolean Send(string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments,
MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return Send(this._mailFrom, this._displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>同步发送邮件
/// 同步发送邮件
/// </summary>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
public Boolean Send(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return SendMail(false, null, mailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
SendAsync(userState, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
SendAsync(userState, this._mailFrom, this._displayName, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
public void SendAsync(object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, MailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>异步发送邮件
/// 异步发送邮件
/// </summary>
/// <param name="userState"></param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
public void SendAsync(object userState, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, null, null, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="isAsync">是否是同步发送</param>
/// <param name="userState">异步任务的唯一标识符,当 isAsync 为 True 时必须设置该属性, 当 isAsync 为 False 时可设置为 null</param>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
private Boolean SendMail(bool isAsync, object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject,
string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
bool mailSent = false;
if (string.IsNullOrEmpty(mailFrom))
{
mailFrom = this._mailFrom;
}
if (string.IsNullOrEmpty(displayName))
{
displayName = this._displayName;
}
MailMessage Email = GetMailMessage(MailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
smtpMail.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
try
{
if (!isAsync)
{
smtpMail.Send(Email);
mailSent = true;
}
else
{
userState = (userState == null) ? Guid.NewGuid() : userState;
smtpMail.SendAsync(Email, userState);
}
}
catch (SmtpFailedRecipientException ex)
{
throw ex;
mailSent = false;
}
catch (Exception ex)
{
throw ex;
mailSent = false;
}
return mailSent;
}
/// <summary>
/// 邮件信息设置
/// </summary>
/// <param name="mailFrom">发件地址</param>
/// <param name="displayName">显示名字</param>
/// <param name="mailTos">对方邮件地址</param>
/// <param name="mailCcs">抄送</param>
/// <param name="mailBccs">秘件抄送</param>
/// <param name="mailSubject">主题</param>
/// <param name="mailBody">内容</param>
/// <param name="attachments">附件 </param>
/// <param name="priority">电子邮件的优先权</param>
/// <param name="isBodyHtml">是否以html格式发送</param>
/// <param name="bodyEncoding">字元编码</param>
/// <returns></returns>
private MailMessage GetMailMessage(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
MailMessage emailMessage = new MailMessage();
if (string.IsNullOrEmpty(mailFrom))//此处还需验证
{
mailFrom = this._mailFrom;
}
if (string.IsNullOrEmpty(displayName))
{
displayName = this._displayName;
}
MailAddress mailFromObject = new MailAddress(mailFrom, displayName);
emailMessage.From = mailFromObject;
//判断邮件数组是否为空,不为空则加入列表
if (mailTos != null)
{
foreach (string mailto in mailTos)
{
if (!string.IsNullOrEmpty(mailto))
{
emailMessage.To.Add(mailto);
}
}
}
//判断抄送
if (mailCcs != null)
{
foreach (string cc in mailCcs)
{
if (!string.IsNullOrEmpty(cc))
{
emailMessage.CC.Add(cc);
}
}
}
//秘件抄送
if (mailBccs != null)
{
foreach (string bcc in mailBccs)
{
if (!string.IsNullOrEmpty(bcc))
{
emailMessage.Bcc.Add(bcc);
}
}
}
//添加附件
if (attachments != null)
{
foreach (string file in attachments)
{
if (!string.IsNullOrEmpty(file))
{
Attachment att = new Attachment(file);
emailMessage.Attachments.Add(att);
}
}
}
emailMessage.Subject = mailSubject;
emailMessage.Body = mailBody;
emailMessage.Priority = priority;
emailMessage.IsBodyHtml = isBodyHtml;
emailMessage.BodyEncoding = bodyEncoding;
return emailMessage;
}
private void SendCompletedCallback(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
bool mailSent = false;
//获得是否异步发送的表识
String token = e.UserState.ToString();
if (e.Cancelled)
{
mailSent = false;
}
if (e.Error != null)
{
mailSent = false;
}
else
{
mailSent = false;
}
mailSent = true;
}
#endregion
#endregion
#endregion
}
}
- c#邮件发送 邮件类
- 邮件发送类
- 邮件发送类
- 发送邮件的类
- C#邮件发送类
- smtp 发送邮件类
- 邮件发送类
- c# 邮件发送类
- c#发送邮件类
- php发送邮件类
- 邮件发送类
- 邮件发送类
- php发送邮件类
- 发送邮件类
- PHP邮件发送类
- 邮件发送工具类
- PHP邮件发送类
- java发送邮件类
- 给您生活的忠告
- 大学生如何谈恋爱
- 关于IIS6.0安装提示convlog.ex_文件无法复制的解决方法
- 读网070609
- C语言格式化输出中的浮点数精度截断
- 邮件发送类
- 考g的生活
- 输出目录树
- Web开发从何处开始
- 一种定点原码一位乘法器的设计与实现
- Paul Graham:微软已经无足轻重
- 文件操作B
- 凸壳求解convex hull
- WindowsMobile6之“HTC Touch” - iphone的强大竞争对手