本文實例為大家介紹了C#郵件群發通用類,供大家參考,具體內容如下
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144public
static
class
Email
{
/// <summary>
/// 發件人
/// </summary>
public
static
string
mailFrom {
get
;
set
; }
/// <summary>
/// 收件人
/// </summary>
public
static
string
[] mailToArray {
get
;
set
; }
/// <summary>
/// 抄送
/// </summary>
public
static
string
[] mailCcArray {
get
;
set
; }
/// <summary>
/// 標題
/// </summary>
public
static
string
mailSubject {
get
;
set
; }
/// <summary>
/// 正文
/// </summary>
public
static
string
mailBody {
get
;
set
; }
/// <summary>
/// 發件人密碼
/// </summary>
public
static
string
mailPwd {
get
;
set
; }
/// <summary>
/// SMTP郵件服務器
/// </summary>
public
static
string
host {
get
;
set
; }
/// <summary>
/// 郵件服務器端口
/// </summary>
public
static
int
port {
get
;
set
; }
/// <summary>
/// 正文是否是Html格式
/// </summary>
public
static
bool
isbodyHtml {
get
;
set
; }
/// <summary>
/// 附件
/// </summary>
public
static
string
[] attachmentsPath {
get
;
set
; }
public
static
bool
Send()
{
//使用指定的郵件地址初始化MailAddress實例
MailAddress maddr =
new
MailAddress(mailFrom);
//初始化MailMessage實例
MailMessage myMail =
new
MailMessage();
//向收件人地址集合添加郵件地址
if
(mailToArray !=
null
)
{
for
(
int
i = 0; i < mailToArray.Length; i++)
{
myMail.To.Add(mailToArray[i].ToString());
}
}
//向抄送收件人地址集合添加郵件地址
if
(mailCcArray !=
null
)
{
for
(
int
i = 0; i < mailCcArray.Length; i++)
{
myMail.CC.Add(mailCcArray[i].ToString());
}
}
//發件人地址
myMail.From = maddr;
//電子郵件的標題
myMail.Subject = mailSubject;
//電子郵件的主題內容使用的編碼
myMail.SubjectEncoding = Encoding.UTF8;
//電子郵件正文
myMail.Body = mailBody;
//電子郵件正文的編碼
myMail.BodyEncoding = Encoding.Default;
//電子郵件優先級
myMail.Priority = MailPriority.High;
//電子郵件不是Html格式
myMail.IsBodyHtml = isbodyHtml;
//在有附件的情況下添加附件
try
{
if
(attachmentsPath !=
null
&& attachmentsPath.Length > 0)
{
Attachment attachFile =
null
;
foreach
(
string
path
in
attachmentsPath)
{
attachFile =
new
Attachment(path);
myMail.Attachments.Add(attachFile);
}
}
}
catch
(Exception err)
{
throw
new
Exception(
"在添加附件時有錯誤:"
+ err.Message);
}
SmtpClient clIEnt =
new
SmtpClIEnt();
//指定發件人的郵件地址和密碼以驗證發件人身份
clIEnt.Credentials =
new
NetworkCredential(mailFrom, mailPwd);
//設置SMTP郵件服務器
//clIEnt.Host = "smtp." + myMail.From.Host;
clIEnt.Host = host;
//SMTP郵件服務器端口
clIEnt.Port = port;
//是否使用安全連接
//clIEnt.EnableSsl = true;
try
{
//將郵件發送到SMTP郵件服務器
clIEnt.Send(myMail);
return
true
;
}
catch
(SmtpException ex)
{
string
msg = ex.Message;
return
false
;
}
}
希望本文所述對大家學習C#程序設計有所幫助。