您的位置:首页 > 编程语言 > C#

C#发送邮件代码

2011-03-17 13:33 288 查看
using
System;



using
System.Net;



using
System.Net.Mail;



using
System.Net.Mime;



namespace
Fish







{





/**/
///

<summary>



///
发送邮件的类



///

</summary>



public

class
SendMail







{



private
MailMessage mailMessage;



private
SmtpClient smtpClient;



private

string
password;
//
发件人密码





/**/
///

<summary>



///
处审核后类的实例



///

</summary>



///

<param name="To">
收件人地址
</param>



///

<param name="From">
发件人地址
</param>



///

<param name="Body">
邮件正文
</param>



///

<param name="Title">
邮件的主题
</param>



///

<param name="Password">
发件人密码
</param>



public
SendMail(
string
To,
string
From,
string
Body,
string
Title,
string



Password)







{



mailMessage
=

new
MailMessage();



mailMessage.To.Add(To);



mailMessage.From
=

new
System.Net.Mail.MailAddress(From);



mailMessage.Subject
=
Title;



mailMessage.Body
=
Body;



mailMessage.IsBodyHtml
=

true
;



mailMessage.BodyEncoding
=
System.Text.Encoding.UTF8;



mailMessage.Priority
=
System.Net.Mail.MailPriority.Normal;



this
.password
=
Password;



}





/**/
///

<summary>



///
添加附件



///

</summary>



public

void
Attachments(
string
Path)







{



string
[] path
=
Path.Split(
'
,
'
);



Attachment data;



ContentDisposition disposition;



for
(
int
i
=

0
; i
<
path.Length; i
++
)







{



data
=

new
Attachment(path[i], MediaTypeNames.Application.Octet);
//
实例化



附件



disposition
=
data.ContentDisposition;



disposition.CreationDate
=
System.IO.File.GetCreationTime(path[i]);
//
获取



附件的创建日期



disposition.ModificationDate
=
System.IO.File.GetLastWriteTime(path[i]);
//



获取附件的修改日期



disposition.ReadDate
=
System.IO.File.GetLastAccessTime(path[i]);
//
获取附



件的读取日期



mailMessage.Attachments.Add(data);
//
添加到附件中



}



}





/**/
///

<summary>



///
异步发送邮件



///

</summary>



///

<param name="CompletedMethod"></param>



public

void
SendAsync(SendCompletedEventHandler CompletedMethod)







{



if
(mailMessage
!=

null
)







{



smtpClient
=

new
SmtpClient();



smtpClient.Credentials
=

new
System.Net.NetworkCredential



(mailMessage.From.Address, password);
//
设置发件人身份的票据



smtpClient.DeliveryMethod
=
System.Net.Mail.SmtpDeliveryMethod.Network;



smtpClient.Host
=

"
smtp.
"

+
mailMessage.From.Host;



smtpClient.SendCompleted
+=

new
SendCompletedEventHandler



(CompletedMethod);
//
注册异步发送邮件完成时的事件



smtpClient.SendAsync(mailMessage, mailMessage.Body);



}



}





/**/
///

<summary>



///
发送邮件



///

</summary>



public

void
Send()







{



if
(mailMessage
!=

null
)







{



smtpClient
=

new
SmtpClient();



smtpClient.Credentials
=

new
System.Net.NetworkCredential



(mailMessage.From.Address, password);
//
设置发件人身份的票据



smtpClient.DeliveryMethod
=
System.Net.Mail.SmtpDeliveryMethod.Network;



smtpClient.Host
=

"
smtp.
"

+
mailMessage.From.Host;



smtpClient.Send(mailMessage);



}



}



}



}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: