ASP用JMail、CDO发送邮件

前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子:
首先是jmail.smtpmail的核心代码:

 1   
 2Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象   
 3jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE   
 4jmail.logging = true '启用使用日志   
 5jmail.Charset = "GB2312" '邮件文字的代码为简体中文   
 6jmail.ContentType = "text/html" '邮件的格式为HTML的   
 7jmail.ServerAddress = "Server Address" '发送邮件的服务器   
 8jmail.AddRecipient Email '邮件的收件人   
 9jmail.SenderName = "SenderName" '邮件发送者的姓名   
10jmail.Sender = "Email Address" '邮件发送者的邮件地址   
11jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值   
12jmail.Subject = "Mail Subject" '邮件的标题   
13jmail.Body = "Mail Body" '邮件的内容   
14jmail.AddRecipientBCC Email '密件收件人的地址   
15jmail.AddRecipientCC Email '邮件抄送者的地址   
16jmail.Execute() '执行邮件发送   
17jmail.Close '关闭邮件对象   

w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:

 1   
 2Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象   
 3jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j   
 4mail.logging = true '启用邮件日志   
 5jmail.Charset = "GB2312" '邮件的文字编码为国标   
 6jmail.ContentType = "text/html" '邮件的格式为HTML格式   
 7jmail.AddRecipient Email '邮件收件人的地址   
 8jmail.From = "Email From for Sender" '发件人的E-MAIL地址   
 9jmail.MailServerUserName = "UserName of Email" '登录邮件服务器所需的用户名   
10jmail.MailServerPassword = "Password of Email" '登录邮件服务器所需的密码   
11jmail.Subject = "Mail Subject" '邮件的标题   
12jmail.Body = "Mail Body" '邮件的内容   
13jmail.Prority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值   
14jmail.Send("Server Address") '执行邮件发送(通过邮件服务器地址)   
15jmail.Close() '关闭对象   

再讲一下微软自带的CDONTS组件的发信的方法:

1   
2Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立邮件对象   
3cdomail.Subject = "Mail Subject" '邮件标题   
4cdomail.From = "Sender's Mail" '发件人的地址   
5cdomail.To = "Email will from" '收件人的地址   
6cdomail.Body = "Mail Body" '邮件的内容   
7cdomail.Send '执行发送   

这种方法发送邮件是最简单的,同时也带来一定的问题,就是很少有服务器会开这项服务!

我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):

 1   
 2'参数说明   
 3'Subject : 邮件标题   
 4'MailAddress : 发件服务器的地址,如smtp.163.com   
 5'Email : 收件人邮件地址   
 6'Sender : 发件人姓名   
 7'Content : 邮件内容   
 8'Fromer : 发件人的邮件地址 
 9
10Sub SendAction(subject, mailaddress, email, sender, content, fromer)   
11Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象   
12jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE   
13jmail.logging = true '启用使用日志   
14jmail.Charset = "GB2312" '邮件文字的代码为简体中文   
15jmail.ContentType = "text/html" '邮件的格式为HTML的   
16jmail.ServerAddress = mailaddress '发送邮件的服务器   
17jmail.AddRecipient Email '邮件的收件人   
18jmail.SenderName = sender '邮件发送者的姓名   
19jmail.Sender = fromer '邮件发送者的邮件地址   
20jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值   
21jmail.Subject = subject '邮件的标题   
22jmail.Body = content '邮件的内容   
23'由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复   
24'jmail.AddRecipientBCC Email '密件收件人的地址   
25'jmail.AddRecipientCC Email '邮件抄送者的地址   
26jmail.Execute() '执行邮件发送   
27jmail.Close '关闭邮件对象   
28End Sub   
29  
30'调用此Sub的例子   
31Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer   
32strSubject = "这是一封用JMAIL发送的测试邮件"   
33strContent = "JMail组件发送测试成功!"   
34strEmail = " [email protected] "   
35strFromer = " [email protected] "   
36strMailAddress = "mail.ubbcn.com" 
37
38Call SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)   

以上是我对发邮件代码的一个粗略的见解,忘大家不吝赐教!

Published At
Categories with Web编程
Tagged with
comments powered by Disqus