张文波(半空) 博客

交流

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

/*仅个人的理解 F8*/

摘要

介绍如何使用DNN中提供的发送Mail的功能,并简单介绍它的实现原理。

 

1.       DNN中使用该功能

使用该功能非常的简单,只需要在你需要发送mail的地方,调用下面函数即可:

DotNetNuke.Services.Mail.Mail.SendMail()

该函数将为你把mail发送出去。函数的参数如下(拷贝自源码)

 

            ''' <summary>

            ''' <summary>Send a simple email.</summary>

            ''' </summary>

            ''' <param name="MailFrom"></param>发件人的mail地址

            ''' <param name="MailTo"></param>收件人的mail地址,用分号分割

            ''' <param name="Bcc"></param>格式同mailto

            ''' <param name="Subject"></param>邮件标题

            ''' <param name="Body"></param>邮件主体

            ''' <param name="Attachment"></param>附件路径

            ''' <param name="BodyType"></param>主体的类型html或者text

            ''' <param name="SMTPServer"></param>邮件服务器地址ip或其他

            ''' <param name="SMTPAuthentication"></param>认证方式

0匿名1 basic用户名密码  2 NTLM

            ''' <param name="SMTPUsername"></param>用户名

            ''' <param name="SMTPPassword"></param>密码

            ''' <returns></returns>

            ''' <remarks></remarks>

            ''' <history>

            '''     [cnurse]        09/29/2005  Moved to Mail class

            ''' </history>

例如:

DotNetNuke.Services.Mail.Mail.SendMail("dnn@mail.com", "F8@mail.com", "", "test dnn mail", "ha ha", "", "text", "", "", "", "")

 

参数SMTPServerSMTPAuthenticationSMTPUsernameSMTPPassword可以通过host settting进行设置,这样在调用函数时就可以不传递了,如下图:

 

 HostSettingMail

DotNetNuke.Services.Mail.Mail.SendMail()函数中将会判断SMTPServerSMTPAuthenticationSMTPUsernameSMTPPassword4个参数,如果为空(“”),便从hostsetting中获取相应的值。

 

2.       实现原理

实现原理非常简单,主要借助.net的两个类进行实现:System.Web.Mail.MailMessageSystem.Web.Mail.SmtpMail

整个mail邮件的信息通过System.Web.Mail.MailMessage实例进行封装。

mail服务器的信息通过System.Web.Mail.SmtpMail.SmtpServer进行封装

利用System.Web.Mail.SmtpMail.Send(MailMessage实例),将mail发送出去。

 

如果需要System.Web.Mail.MailMessageSystem.Web.Mail.SmtpMail的详细信息,请参考MSDN

 

参考:

.NET中使用SMTP发送邮件 (海天一鸥)

http://sgsoft.cnblogs.com/archive/2005/03/21/123030.html

 

posted on 2006-03-18 15:43  半空  阅读(1414)  评论(3编辑  收藏  举报