科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu发表日期:2006-9-14

ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu发表日期:2006-9-14

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu 。

作者:btbtd 来源:CSDN 2008年3月24日

关键字: 发送 CDO Class Web开发 Windows

  • 评论
  • 分享微博
  • 分享邮件

ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu 摘要: 前两天也写了一篇相关的文章: ASP CDO.Message 发送邮件完整实例 By shawl.qiu URL: http://blog.csdn.net/btbtd/archive/2006/09/11/1210050.aspx 不过我发觉还没写过类, 所以呗, 就试了一下, 其实 ASP 的类挻简单的, 喏, 这不今天看相关信息, 现在就出产文章啦 :) 其实吧, 我觉得 ASP类 和普通函数过程可以比喻为: 类是一个箱子, 函数和过程是箱子里的东西.  使用类可以简化调用函数的操作, 用 get 实现. 用 let 在类外边给参数赋值, 至于 set, 目前还没用过.  类相关信息: 类名: cCdoMessage 作用: 使用 ASP 的内建组件 CDO.Message 发送电子邮件 附注: 不支持附件. 目录: 1. cCdoMessage 类内容 2. 调用 cCdoMessage 类 3. 预览

ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu


摘要:
前两天也写了一篇相关的文章: ASP CDO.Message 发送邮件完整实例 By shawl.qiu
URL: 不过我发觉还没写过类, 所以呗, 就试了一下, 其实 ASP 的类挻简单的, 喏, 这不今天看相关信息, 现在就出产文章啦 :)

其实吧, 我觉得 ASP类 和普通函数过程可以比喻为:
类是一个箱子, 函数和过程是箱子里的东西. 
使用类可以简化调用函数的操作, 用 get 实现.
用 let 在类外边给参数赋值, 至于 set, 目前还没用过. 

类相关信息:
类名: cCdoMessage
作用: 使用 ASP 的内建组件 CDO.Message 发送电子邮件

附注: 不支持附件.

目录:
1. cCdoMessage 类内容
2. 调用 cCdoMessage 类
3. 预览

shawl.qiu
2006-09-12


1. cCdoMessage 类内容
    linenum
  1. <%    class cCdoMessage
  2.     '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  3.     ' ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu
  4.     '''''''''''''''''''''''''
  5.     ' sample call:
  6.     '''''''''''
  7.     '    dim objCdo
  8.     '    set objCdo= new cCdoMessage
  9.     '        with objCdo
  10.     '            .header ' 头部信息, 非必须
  11.     '            .rQs=request.queryString("id") '查询 ID, 必选项
  12.     '            set .rForm=request.form '提交表单集合, 必选项
  13.     '                .pgCdoSendMail
  14.     '            set .rForm=nothing
  15.     '            
  16.     '            .mAction="?id=cdo" '提交表单 URL, 必选项
  17.     '            ''''''''''''''''''''''''''''''''''''''''''''
  18.     '            ' start 表单域默认内容, 非必须
  19.     '            .mFrom="shawlqiu@21cn.com"
  20.     '            .mTo="shawl.qiu@gmail.com,btbtd@msn.com"
  21.     '            .mCc="btbtd@yahoo.com.cn"
  22.     '            .mBcc="shawl.qiu+2@gmail.com"
  23.     '            .mSubject="mail subject"
  24.     '            .mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"
  25.     '            .mSmtp="smtp.21cn.com"
  26.     '            .mPort=25
  27.     '            .mTimeout=60
  28.     '            .mUser="shawlqiu"
  29.     '            .mPwd="不告诉你"
  30.     '            ' end 表单域默认内容, 非必须
  31.     '            ''''''''''''''''''''''''''''''''''''''''''''
  32.     '            .pgCdoform ' 发送邮件表单, 必选项
  33.     '            
  34.     '            .info ' 作者信息, 非必须
  35.     '        end with
  36.     '    set objCdo=nothing
  37.     '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  38.         public sub info()
  39.             response.write "<br/>Subject: ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu<br/>"
  40.             response.write "Author: shawl.qiu<br/>"
  41.             response.write "Version: 1.0<br/>"
  42.             response.write "Date: 2006-09-12<br/>"
  43.             response.write "Blog:   http://blog.csdn.net/btbtd<br/>"
  44.             response.write "E-Mail: shawl.qiu@gmail.com<br/>"
  45.         end sub
  46.     
  47.         public rQs, rForm
  48.         public mAction, mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd
  49.     
  50.         public function header()
  51.             response.write "<h1 style=""text-align:center!important;color:red!important; "">ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu</h1>"
  52.             response.write "<h2 style=""float:right!important;margin:0px;padding:0px; ""><a href="" http://blog.csdn.net/btbtd"">shawl.qiu</a> code</h2>"
  53.         end function
  54.         
  55.         public property get pgCdoform
  56.             pgCdoform=fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)
  57.         end property
  58.         
  59.         public property get pgCdoSendMail
  60.             pgCdoSendMail=fCdoSendMail(rQs,rForm)
  61.         end property
  62.         private property get goBack
  63.             goBack=fPmt("邮件已发送, 3 秒后返回.",3,request.ServerVariables("HTTP_REFERER"))
  64.         end property
  65.         
  66.         private property get goBackErr
  67.             goBackErr="<a href="""&request.ServerVariables("HTTP_REFERER")&""" style=""text-align:center!important; display:table; width:100%;"">返回</a>"
  68.         end property
  69.         private    function fPmt(promptWord,second,url)
  70.             response.write "<div class=""absltMid""><meta http-equiv=""refresh"" content="""
  71.             response.write second
  72.             response.write ";URL="
  73.             response.write url
  74.             response.write """>"
  75.             response.write promptWord
  76.             response.write "</div>"
  77.         end function 
  78.         private function fCdoSendMail(rQs,rForm)
  79.             if rQs="" or rQs<>"cdo" then exit function
  80.             if isObject(rForm)=false then exit function
  81.             dim temp
  82.             for each temp in rForm
  83.                 select case temp
  84.                     case "mTextBody"
  85.                     case "mHtmlBody"
  86.                     case "mFile"
  87.                     case "mSsl"
  88.                     case else
  89.                         execute "dim "&temp&":"&temp&"=request.form(temp)"
  90.                 end select
  91.             next
  92.             dim mSsl, mTextBody, mHtmlBody
  93.                 mSsl=request.form("mSsl")
  94.                 mTextBody=request.form("mTextBody")
  95.                 mHtmlBody=request.form("mHtmlBody")
  96.                 mBody="<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"" />"&chr(13)&mBody
  97.                 
  98.                 if mSsl="" then mSsl=false else mSsl=true
  99.             dim cdo 
  100.             set cdo=createObject("cdo.message")
  101.                 'configuration information for the remote SMTP Server
  102.                 with cdo.configuration.fields
  103.                     .Item(" http://schemas.microsoft.com/cdo/configuration/sendusing") = mSend
  104.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpserver")= mSmtp 'SMTP 服务器地址
  105.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpserverport")= mPort '端口 25
  106.                     .item(" http://schemas.microsoft.com/cdo/configuration/sendusername")= mUser '用户名
  107.                     .item(" http://schemas.microsoft.com/cdo/configuration/sendpassword")= mPwd '用户密码
  108.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")= mAuth 'NONE, Basic (Base64 encoded), NTLM
  109.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")= mTimeout '超时设置, 以秒为单位
  110.                     .Item(" http://schemas.microsoft.com/cdo/configuration/smtpusessl") = mSsl '是否使用套接字 true/false 
  111.                     .Update
  112.                 end with
  113.                 with cdo
  114.                     .from=mFrom
  115.                     .to=mTo
  116.                     if mCc<>"" then .cc=mCc
  117.                     if mBcc<>"" then .bcc=mBcc
  118.                     .subject=mSubject
  119.                     if mTextBody<>"" then .textbody=mBody
  120.                     if mHtmlBody<>"" then .htmlbody=mBody
  121.                     
  122.                     'if len(mFile)>0 then .Addattachment mFile
  123.                     '// CDO 发附件规则: 当前目录的文件可用变量, 不是当前的目录不能用变量
  124.                     On Error Resume Next
  125.                     .send
  126.                     if err.number<>0 then response.write "邮件发送失败, 错误编号: "&_
  127.                     err.number&"<br/>错误描述: "&err.description&goBackErr else goBack
  128.                 end with 'shawl.qiu code'
  129.             set cdo=nothing
  130.         end function
  131.         private function fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)
  132.         if mAction="" then exit function %>
  133.             <form action="<% response.write mAction %>" method="post" name="mCdo" id="mCdo">
  134.               <p>From: 
  135.                 <input name="mFrom" type="text" value="<% response.write mFrom %>" size="50%"/><br />
  136.                 To: <input name="mTo" type="text" value="<% response.write mTo %>" size="50%" /> 
  137.                 <br />
  138.                 Cc: <input name="mCc" type="text" value="<% response.write mCc %>" size="50%" /><br />
  139.                 Bcc: <input name="mBcc" type="text" id="mBcc" value="<% response.write mBcc %>" size="50%" /> <br />
  140.                 Subject: <input name="mSubject" type="text" value="<% response.write mSubject %>" size="50%" /> <br />
  141.                 Email Format: 
  142.                 text: <input type="checkbox" name="mTextBody" value="yes" checked="checked" /> 
  143.                 html: <input type="checkbox" name="mHtmlBody" value="yes" /><br />
  144.                 Text:<br /> <textarea name="mBody" cols="77" rows="10"><% response.write mBody %></textarea> <br /> 
  145.                 Remote SMTP: <input name="mSmtp" type="text" value="<% response.write mSmtp %>" />
  146.                 Port: <input name="mPort" type="text" value="<% response.write mPort %>" size="5" />
  147.                 Timeout: <input name="mTimeout" type="text" value="<% response.write mTimeout %>" size="5" />
  148.                 Sec SSL: <input type="checkbox" name="mSsl" value="ture" /> <br />
  149.                 Username: <input name="mUser" type="text" value="<% response.write mUser %>" /> <br />
  150.                 Password: <input name="mPwd" type="password" value="<% response.write mPwd %>" />  <br />
  151.                 SMTP验证选项: 
  152.                 <select name="mAuth">
  153.                     <option value="0">匿名验证</option>
  154.                     <option value="1" selected="selected">普通验证</option>
  155.                     <option value="2">NTLM 验证</option>
  156.                 </select> 
  157.                  邮件发送选项: 
  158.                  <select name="mSend">
  159.                     <option value="1">Send Using Pickup</option>
  160.                     <option value="2" selected="selected">Send Using Port</option>
  161.                  </select>
  162.                  <br />
  163.                 <input type="submit" value="Submit" />   <input type="reset" value="Reset" />
  164.             </p>
  165.             </form><!-- shawl.qiu code -->
  166.     <%     end function 
  167.     end class %>

2. 调用 cCdoMessage 类
    linenum
  1. <%
  2.     dim objCdo
  3.     set objCdo= new cCdoMessage
  4.         with objCdo
  5.             .header ' 头部信息, 非必须
  6.             .rQs=request.queryString("id") '查询 ID, 必选项
  7.             set .rForm=request.form '提交表单集合, 必选项
  8.                 .pgCdoSendMail
  9.             set .rForm=nothing
  10.             
  11.             .mAction="?id=cdo" '提交表单 URL, 必选项
  12.             ''''''''''''''''''''''''''''''''''''''''''''
  13.             ' start 表单域默认内容, 非必须
  14.             .mFrom="shawlqiu@21cn.com"
  15.             .mTo="shawl.qiu@gmail.com,btbtd@msn.com"
  16.             .mCc="btbtd@yahoo.com.cn"
  17.             .mBcc="shawl.qiu+2@gmail.com"
  18.             .mSubject="mail subject"
  19.             .mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"
  20.             .mSmtp="smtp.21cn.com"
  21.             .mPort=25
  22.             .mTimeout=60
  23.             .mUser="shawlqiu"
  24.             .mPwd="不告诉你"
  25.             ' end 表单域默认内容, 非必须
  26.             ''''''''''''''''''''''''''''''''''''''''''''
  27.             .pgCdoform ' 发送邮件表单, 必选项
  28.             
  29.             .info ' 作者信息, 非必须
  30.         end with
  31.     set objCdo=nothing
  32. %>

3. 预览

ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu

shawl.qiu code

From:
To:
Cc:
Bcc:
Subject:
Email Format: text: html:
Text:

Remote SMTP: Port: Timeout: Sec SSL:
Username:
Password:
SMTP验证选项: 邮件发送选项:


Subject: ASP Class(类) 之 使用内建组件 cdo.message 发送邮件 By shawl.qiu
Author: shawl.qiu
Version: 1.0
Date: 2006-09-12
Blog: http://blog.csdn.net/btbtd
E-Mail: shawl.qiu@gmail.com


    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章