关于.net1.1和.net2.0发送邮件的方法

王朝学院·作者佚名  2009-04-16
窄屏简体版  字體: 小  |  中  |  大  |  超大  

昨天在写用户注册的时候,需要写用户填写用户邮件地址,但又得验证邮件地址的有效性,解决这种问题的方法就是根据用户注册的邮箱,有邮箱中发送一个注册码,然后根据注册码来完成下一步的注册。在网上搜索了一下方法,只有.net1.1的方法,在此基础上修改了一下。现在提供两种版本的示例

1).Net1.1

System.Web.Mail命名空间:

这个命名控件下包含了以下的对象和三个属性:

包含的对象:

MailAttachment:与邮件附件有关的对象类

MailMessage :邮件主体

SmtpMail :负责发送邮件的SMTP协议。

属性列表:

MailEncoding :邮件的编码(Base64,UUEncode)

MailFormat :邮件的格式(Html超文本格式,Text纯文本格式)

MailPriority :邮件优先级(High, Medium, Low)

构建MailMessage对象:

MailMessage对象是邮件的承载主体,通常可以先构建好MailMessage对象,然后设置它的属性的方式来构建邮件程序,下面列出了的是一些常用的属性:

Attachments :邮件附件

Bcc :暗送地址

Body :邮件主体

BodyFormat :邮件格式(html,text)

Cc :抄送地址

From :发信人地址

Priority :邮件优先级(High, Medium,Low)

Subject :邮件主题

To :接收人地址

UrlContentBase :在HTML格式邮件中的URL编码方式

UrlContentLocation:邮件信息的优先级(High, Medium,Low)

使用SMTPMail发送邮件

构建好MailMessage对象之后,还需要使用另外一个对象-SMTPMail-来发送邮件,SMTPMAIL有一个很重要的方法:Send,该方法有两个不同用法,其中一个可以仅仅发送整个的MailMessage对象:

SmtpMail.Send(myEmailObject);

另外一个允许你分别指定发送者,收邮件地址,邮件主题,邮件主题,然后再发送出去:

SmtpMail.Send(strFrom, strTo, strSubject, strBody);

示例:

void SendMail()

{

System.Web.Mail.MailMessage myEmail = new System.Web.Mail.MailMessage();

// SET MESSAGE PARAMETERS

myEmail.From = "hohisoft@163.com";

myEmail.To = "hohisoft@163.com";

myEmail.Subject = "咨询培训事宜";

myEmail.BodyFormat = System.Web.Mail.MailFormat.Html;

myEmail.Body = "学习.net,请问你们的实训课程都何时开课?.";

//SEND THE MESSAGE

System.Web.Mail.SmtpMail.Send(myEmail);

}

http://www.devdao.com

2).Net2.0

System.Net.Mail命名空间:

这个命名控件下包含了以下主要对象和主要属性:

包含的对象:

MailAddress:表示电子邮件发件人或收件人的地址

Attachment :表示电子邮件的附件

MailAddressCollection :存储与电子邮件关联的电子邮件地址

MailMessage :表示可以使用 SmtpClient 类发送的电子邮件

SmtpClient :允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。

属性列表:

DeliveryNotificationOptions:描述电子邮件的传送通知选项

MailPriority :指定 MailMessage 的优先级

SmtpAccess :指定允许的简单邮件传输协议 (SMTP) 服务器访问级别

SmtpDeliveryMethod:指定如何发送电子邮件

SmtpStatusCode:指定使用 SmtpClient 类发送电子邮件的结果

构建MailMessage对象:

MailMessage对象是邮件的承载主体,通常可以先构建好MailMessage对象,然后设置它的属性的方式来构建邮件程序,下面列出了的是一些常用的属性:

Attachments :邮件附件

Bcc :暗送地址

Body :邮件主体

Cc :抄送地址

From :发信人地址

Subject :邮件主题

To :接收人地址

使用SmtpClient发送邮件

构建好MailMessage对象之后,还需要使用另外一个对象-SmtpClient-来发送邮件,SmtpClient有一个很重要的方法:Send,可以发送整个的MailMessage对象:

SmtpClient.Send(MailMessage);

在这个例子中,使用System.Net.Mail命名空间

/// <summary>

/// 自动发送邮件

/// </summary>

/// <param name="strMail">邮件接受地址</param>

/// <param name="strRegistCode">注册码</param>

/// <returns></returns>

bool SendMail(string strMail, string strRegistCode)

{

string strHost = "mail.cdce.cn"; //STMP服务器地址

string strAccount = "jackguo"; //SMTP服务帐号

string strPwd = "111111"; //SMTP服务密码

SmtpClient _smtpClient = new SmtpClient();

_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式

_smtpClient.Host = strHost; ;//指定SMTP服务器

_smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码

string content = "你的验证码是:" + strRegistCode + ",请获取后立即完成注册,关联基本信息。";

content += "<br><br>该邮件为自动发送,请不要回复!";

MailAddress sender = new MailAddress("jackguo@cdce.cn", "统考信息");

MailAddress receriver = new MailAddress(strMail);

MailMessage mail = new MailMessage(sender, receriver);

MailAddressCollection ToMail = new MailAddressCollection();

mail.Subject = "统考信息系统验证码";//主题

mail.Body = content;//内容

mail.BodyEncoding = System.Text.Encoding.Default;//正文编码

mail.IsBodyHtml = true ;

mail.Priority = MailPriority.High;//优先级

try

{

_smtpClient.Send(mail);

return true;

}

catch (Exception e)

{

return false;

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航