WEB开发网
开发学院WEB开发ASP ASP用JMail、CDO发送邮件 阅读

ASP用JMail、CDO发送邮件

 2004-02-07 11:10:42 来源:WEB开发网   
核心提示:前一段时间有发过一个简单的jmail邮件发邮件的代码,今天就把这个代码做一个具体的注解,ASP用JMail、CDO发送邮件,并增加了另外两个格式的代码,并举几个简单的例子:首先是jmail.smtpmail的核心代码:<% Set jmail = Server.CreateObject("JMAIL.

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

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

w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
<%
   Set jmail = Server.CreateObject("JMAIL.Message")  '建立发送邮件的对象
   jmail.silent = true   '屏蔽例外错误,返回FALSE跟TRUE两值j
   mail.logging = true  '启用邮件日志
   jmail.Charset = "GB2312"   '邮件的文字编码为国标
   jmail.ContentType = "text/html"   '邮件的格式为HTML格式
   jmail.AddRecipient Email   '邮件收件人的地址
   jmail.From = "Email From for Sender"  '发件人的E-MAIL地址
   jmail.MailServerUserName = "UserName of Email"   '登录邮件服务器所需的用户名
   jmail.MailServerPassWord = "Password of Email"   '登录邮件服务器所需的密码
   jmail.Subject = "Mail Subject"   '邮件的标题
   jmail.Body = "Mail Body"    '邮件的内容
   jmail.Prority = 1    '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
   jmail.Send("Server Address")   '执行邮件发送(通过邮件服务器地址)
   jmail.Close()  '关闭对象
%>

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

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

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


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

<%
  '参数说明
  'Subject   : 邮件标题
  'MailAddress : 发件服务器的地址,如smtp.163.com
  'Email    : 收件人邮件地址
  'Sender    : 发件人姓名
  'Content   : 邮件内容
  'Fromer    : 发件人的邮件地址

  Sub SendAction(subject, mailaddress, email, sender, content, fromer)
    Set jmail = Server.CreateObject("JMAIL.SMTPMail")  '创建一个JMAIL对象
    jmail.silent = true  'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE
    jmail.logging = true  '启用使用日志
    jmail.Charset = "GB2312"  '邮件文字的代码为简体中文
    jmail.ContentType = "text/html"  '邮件的格式为HTML的
    jmail.ServerAddress = mailaddress  '发送邮件的服务器
    jmail.AddRecipient Email   '邮件的收件人
    jmail.SenderName = sender  '邮件发送者的姓名
    jmail.Sender = fromer   '邮件发送者的邮件地址
    jmail.Priority = 1  '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
    jmail.Subject = subject  '邮件的标题
    jmail.Body = content  '邮件的内容
    '由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
    'jmail.AddRecipientBCC Email  '密件收件人的地址
    'jmail.AddRecipientCC Email  '邮件抄送者的地址
    jmail.Execute()  '执行邮件发送
    jmail.Close   '关闭邮件对象
  End Sub
 
  '调用此Sub的例子
  Dim strSubject,strEmail,strMailAdress,strSender,strContent,strFromer
  strSubject   = "这是一封用JMAIL发送的测试邮件"
  strContent   = "JMail组件发送测试成功!"
  strEmail    = "runbing@eyou.com"
  strFromer    = "runbing@eyou.com"
  strMailAddress = "mail.ubbcn.com"

  Call SendAction (strSubject,strMailaddress,strEmail,strSender,strContent,strFromer)
%>

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

Tags:ASP JMail CDO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接