总结:.用asp.net 2.0发送邮件非常的方便,只需要用using System.Net.Mail命名空间下的类就可以完成发送邮件的功能,发送邮件的服务器可以有以下几种情况:
1.本地的smtp服务器
2.网络上的smtp服务器(smtp.163.com等)
以下是我测试发送邮件的范例,基本上都考虑到的所有的情况,如果还有什么没有考虑到的请给我留言,我接续完善其功能.
1.新建一网站名字叫SentEmailText.
2.添加一个新的页面default.aspx
代码如下:
<
form
id
="Form1"
runat
="server"
method
="post"
>
<
div
id
="content"
>
<
div
id
="msg"
>
<
div
id
="msg_title"
>
SendEmailTest
</
div
>
<
div
id
="msg_prompt"
></
div
>
<
asp:ValidationSummary
id
="msg_alarm"
runat
="server"
></
asp:ValidationSummary
>
</
div
>
<
div
id
="form"
>
<
div
>
<
label
for
="SmtpServerText"
>
Severname:
</
label
>
<
input
type
="text"
id
="SmtpServerText"
name
="SmtpServerText"
runat
="server"
/>
</
div
>
<
div
>
<
label
for
="SmtpServerPort"
>
SeverPort:
</
label
>
<
input
type
="text"
id
="SmtpServerPort"
name
="SmtpServerPort"
runat
="server"
/>
</
div
>
<
div
>
<
label
for
="UserName"
>
UserName:
</
label
>
<
input
type
="text"
name
="UserName"
id
="UserName"
runat
="server"
/>
</
div
>
<
div
>
<
label
for
="Pwd"
>
Pwd:
</
label
>
<
input
type
="text"
name
="Pwd"
runat
="server"
id
="Pwd"
/>
</
div
>
<
div
>
<
label
for
="FromAddress"
>
FromAddress:
</
label
>
<
input
type
="text"
name
="FromAddress"
runat
="server"
id
="FromAddress"
/>
</
div
>
<
div
>
<
label
for
="SendAddress"
>
SendAddress:
</
label
>
<
input
type
="text"
name
="SendAddress"
runat
="server"
id
="SendAddress"
/>
</
div
>
<
div
>
<
label
for
="attachment"
>
Attachment:
</
label
>
<
input
type
="file"
runat
="server"
name
="attachment"
id
="attachment"
/>
</
div
>
<
div
>
<
label
for
="txtSubject"
>
EmailSubject:
</
label
>
<
input
type
="text"
name
="txtSubject"
runat
="server"
id
="txtSubject"
/>
</
div
>
<
div
>
<
label
for
="txtBody"
>
EmailBody:
</
label
>
<
textarea
name
="txtBody"
runat
="server"
rows
="10"
cols
="50"
id
="txtBody"
></
textarea
>
</
div
>
<
div
>
<
input
type
="submit"
value
="SendEmail"
class
="prim"
id
="btnSend"
runat
="server"
onserverclick
="btnSend_ServerClick"
/>
</
div
>
</
div
>
</
div
>
</
form
>
3.新建一个style的文件夹,添加样式页面,主要功能是表单的对齐样式,比较通用的设置(见附件)
4.添加一个mail的类文件,注意用于发送邮件考虑的几种情况(见附件)
using
System;
using
System.Text;
using
System.Net.Mail;
using
System.Net.Sockets;
using
System.IO;
public
class
Mail

{

"Customvar"#region"Customvar"
privatestring_User;
privatestring_Pwd;
privatestring_Host;
privateint_Port;
#endregion


"Property"#region"Property"
publicintPort


{
get


{
return_Port;
}
set


{
_Port=value;
}
}
publicstringUser


{
get


{
return_User;
}
set


{
_User=value;
}
}
publicstringPwd


{
get


{
return_Pwd;
}
set


{
_Pwd=value;
}
}
publicstringHost


{
get


{
return_Host;
}
set


{
_Host=value;
}
}
#endregion


"OverLoad"#region"OverLoad"
publicMail(stringuser,stringpwd,stringhost,intport)


{//othersmtpserverincludingusernameandpwd
this._User=user;
this._Pwd=pwd;
this._Host=host;
this._Port=port;
}
publicMail(stringhost,intport)


{//othersmtpserverbutusernameandpwd
this._Port=port;
this._Host=host;
}
publicMail()


{//localsmtpserverandport=25
this._Port=25;
this._Host="127.0.0.1";
}
#endregion


"SendEmialincludinggroupsandattachment"#region"SendEmialincludinggroupsandattachment"

/**////<summary>
///Sentemailsincludingattachment
///</summary>
///<paramname="toUser">FromAddress</param>
///<paramname="toMail">ToAddress</param>
///<paramname="subject">ThesubjectofEmail</param>
///<paramname="body">ThebodyofEmail</param>
///<paramname="ishtml">HtmlOrText</param>
///<paramname="priority">ThepriorityofEmail</param>
///<paramname="filenames">theattachmentofemail(optional)</param>
publicvoidSendMailWithAttachment(stringtoUser,stringtoMail,stringsubject,stringbody,boolishtml,MailPrioritypriority,paramsstring[]filenames)


{
System.Net.Mail.MailMessagemsg=newSystem.Net.Mail.MailMessage(toUser,toMail,subject,body);
msg.BodyEncoding=Encoding.UTF8;
msg.Priority=priority;
msg.IsBodyHtml=ishtml;
if(filenames!=null)


{
foreach(stringsinfilenames)


{
msg.Attachments.Add(newAttachment(s));
}
}
System.Net.Mail.SmtpClientsc=newSmtpClient(Host,Port);
sc.EnableSsl=false;
sc.Timeout=3600000;
sc.UseDefaultCredentials=false;
sc.Credentials=newSystem.Net.NetworkCredential(_User,_Pwd);
sc.DeliveryMethod=SmtpDeliveryMethod.Network;
try


{
sc.Send(msg);
}
catch(Exceptione)


{
throwe;
}
}

/**////<summary>
///SentEmailincludinggroupsandattachment
///</summary>
///<paramname="toUser">FromAddress</param>
///<paramname="toMail">ToAddress</param>
///<paramname="subject">ThesubjectofEmail</param>
///<paramname="body">ThebodyofEmail</param>
///<paramname="ishtml">HtmlOrText</param>
///<paramname="priority">ThepriorityofEmail</param>
///<paramname="filenames">TheattachmentofEmail(optional)</param>
publicvoidSendMailWithGroupWithAttachment(stringtoUser,stringtoMail,stringsubject,stringbody,boolishtml,MailPrioritypriority,paramsstring[]filenames)


{
string[]toMails=toMail.Split(';');
System.Net.Mail.MailMessagemsg=newSystem.Net.Mail.MailMessage();
msg.From=newMailAddress(toUser);
foreach(stringsintoMails)


{
msg.To.Add(s);
}
msg.Subject=subject;
msg.Body=body;
msg.BodyEncoding=Encoding.UTF8;
msg.Priority=priority;
msg.IsBodyHtml=ishtml;
if(filenames!=null)


{
foreach(stringsinfilenames)
msg.Attachments.Add(newAttachment(s));
}
System.Net.Mail.SmtpClientsc=newSmtpClient(Host,Port);
sc.EnableSsl=false;
sc.Timeout=3600000;
sc.UseDefaultCredentials=false;
sc.Credentials=newSystem.Net.NetworkCredential(_User,_Pwd);
sc.DeliveryMethod=SmtpDeliveryMethod.Network;
try


{
sc.Send(msg);
}
catch(Exceptione)


{
throwe;
}
}
#endregion


/**////<summary>
///ReceivedEmail
///</summary>
publicvoidReseiveMail()


{
stringServerHost="pop3."+this._Host;
TcpClienttcp=newTcpClient(ServerHost,110);
NetworkStreamns=tcp.GetStream();
StreamReadersr=newStreamReader(ns);
StreamWritersw=newStreamWriter(ns);
}
}
5.页面调用方式参见附件
6.附件下载 附件(源代码下载)
1.本地的smtp服务器
2.网络上的smtp服务器(smtp.163.com等)
以下是我测试发送邮件的范例,基本上都考虑到的所有的情况,如果还有什么没有考虑到的请给我留言,我接续完善其功能.
1.新建一网站名字叫SentEmailText.
2.添加一个新的页面default.aspx
代码如下:



















































4.添加一个mail的类文件,注意用于发送邮件考虑的几种情况(见附件)
















































































































































































































































6.附件下载 附件(源代码下载)
付出最大努力,追求最高成就。