C# 邮件类
来源:互联网 发布:手机淘宝备份在哪里 编辑:程序博客网 时间:2024/06/01 09:04
#region C#邮件发送类
/// <summary>
/// C#邮件发送类
///
/// 支持批量(发送、抄送、密送)
/// 支持多语言、带多个附件
/// 支持smtp发送邮件服务器验证
/// </summary>
public class Mail_Manager
{
public Mail_Manager()
{ }
/**/
/// <summary>
/// 邮件发送结果。如果发送过程出现错误,该值为捕获到的异常提示;否则,该值为“OK”。
/// </summary>
public string SendMailResult
{
get
{
return this.m_SendMailResult;
}
set
{
this.m_SendMailResult = value;
}
}
private string m_SendMailResult;
//邮件发送时,额外的功能属性设置
#region 邮件发送时,额外的功能属性设置
/**/
/// <summary>
/// 抄送地址,多个以逗号隔开
/// </summary>
public string Cc
{
set
{
this.m_Cc = value;
}
}
private string m_Cc;
/**/
/// <summary>
/// 密送地址,多个以逗号隔开
/// </summary>
public string Bcc
{
set
{
this.m_Bcc = value;
}
}
private string m_Bcc;
/**/
/// <summary>
/// 邮件格式。可以赋值为“1”或“2”,“1”表示Html格式,“2”表示Text格式。
/// </summary>
public int BodyFormat
{
set
{
this.m_BodyFormat = value;
}
}
private int m_BodyFormat = 1;
/**/
/// <summary>
/// 邮件格式。可以赋值为“1”、“2”或“3”。
///“1”表示不紧急邮件,“2”表示普通邮件, “3”表示紧急邮件
/// </summary>
public int MailPriority
{
set
{
this.m_MailPriority = value;
}
}
private int m_MailPriority = 2;
/**/
/// <summary>
/// 附件地址列表,用该属性Add方法加入多个附件,附件地址必须是绝对路径
/// </summary>
public ArrayList AttachFiles
{
get
{
return this.m_AttachFiles;
}
set
{
this.m_AttachFiles = value;
}
}
ArrayList m_AttachFiles = new ArrayList();
#endregion
/**/
/// <summary>
/// 发送邮件方法,方法中几个参数是发邮件时所必须的
/// </summary>
/// <param name="p_From">发件人</param>
/// <param name="p_To">邮件人,多个收件人逗号隔开</param>
/// <param name="p_Subject">邮件标题</param>
/// <param name="p_Body">正文</param>
/// <param name="p_SmtpServer">发送邮件服务器</param>
/// <param name="p_SmtpUsername">发件服务器登录名</param>
/// <param name="p_SmtpPassword">发件服务器登录密码</param>
/// <returns></returns>
public bool SendMail(string p_From, string p_To, string p_Subject, string p_Body, string p_SmtpServer, string p_SmtpUsername, string p_SmtpPassword)
{
try
{
System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
mail.From = p_From;
mail.To = p_To;
mail.Subject = p_Subject;
mail.Body = p_Body;
SmtpMail.SmtpServer = p_SmtpServer;
//邮件服务器验证,需要输入您在邮件发送服务器上注册的邮箱用户名和密码
if (p_SmtpUsername != "")
{
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", p_SmtpUsername);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", p_SmtpPassword);
}
//以上是发邮件时所必需的,下面是额外的一些功能设置
if (this.m_Cc != "")
{
mail.Cc = this.m_Cc;
}
if (this.m_Bcc != "")
{
mail.Bcc = this.m_Bcc;
}
switch (this.m_BodyFormat)
{
case 1:
mail.BodyFormat = MailFormat.Html;
break;
case 2:
mail.BodyFormat = MailFormat.Text;
break;
default:
break;
}
switch (this.m_MailPriority)
{
case 1:
mail.Priority = System.Web.Mail.MailPriority.Low;
break;
case 2:
mail.Priority = System.Web.Mail.MailPriority.Normal;
break;
case 3:
mail.Priority = System.Web.Mail.MailPriority.High;
break;
default:
break;
}
if (this.m_AttachFiles.Count > 0)
{
foreach (string file in m_AttachFiles)
{
if (file.Trim() != "")
{
mail.Attachments.Add(new MailAttachment(file.Trim()));
}
}
}
SmtpMail.Send(mail);
this.m_SendMailResult = "OK";
return true;
}
catch (Exception ex)
{
this.m_SendMailResult = ex.ToString();
return false;
}
}
}
#endregion
以上存为类文件 注意命名空间问题
调用方法
Mail_Manager MyMail = new Mail_Manager();
MyMail.SendMail(EmailUserName, EmailAddress, EmailTitle, EmailContent, SMTPStr, EmailUserName, EmailUserPwd);
以上的类也是摘抄网络上的加上自己改了改
呵呵
- c#邮件发送 邮件类
- c#接收邮件类
- C# 邮件类
- C# 邮件类
- C# 邮件类 Mailmessage
- c# 邮件发送类
- c#发送邮件类
- C#发送邮件类
- C# 邮件发送类详解
- C#发送邮件的类
- c#邮件发送操作类
- c# 邮件发送通用类
- C# 邮件发送辅助类
- C#发送邮件工具类
- C#邮件发送帮助类
- C# 邮件发送 实现类
- C#邮件发送工具类
- C#邮件
- 反思个人发展方向
- 寻找方向
- C#字符串格式转换
- 设备管理器空白的解决方法
- vsftpd 配置手册
- C# 邮件类
- asp.netcomet框架实现
- Apache2的httpd.conf翻译收藏
- CNET选出的50个我们认为是有用或者有趣的网站
- 明月镜心
- 为了突破MFC限制,作了两天摸索结果。。以及他的掘墓人Fancy controls
- 医师资格考试考前快速复习指导
- 如何将Windows 2003 Server的样式修改成Windows XP Professional的样式
- JAVA反射机制