ASP CDO.Message 发送邮件完整实例 By shawl.qiu

ASP CDO.Message 发送邮件完整实例 By shawl.qiu


作用:
ASP 无组件发送电子邮件
实现了直接套用式功能, 只需修改少许选项, 即可使用. 

说明:
主要操作皆封装在两个函数里, 一个为发送邮件表单(名 fCdoForm), 一个为发送邮件操作(名 fCdoSendMail)
除主收件人以外, 支持 抄送, 密送.
动态选择使用 TEXT/HTML 格式, 或者两者都选
动态输入SMTP 相关信息
支持是否使用 SSL 
支持三种验证方法 

附注: 
暂不支持附件功能, 主要原因为服务端与客户端的限制.
服务端脚本不允许直接读取客户端文件.

目录:
1. 主内容: 两个主函数及完整应用代码
2. 预览:

shawl.qiu
2006-09-11
  http://blog.csdn.net/btbtd

1. 主内容: 两个主函数及完整应用代码
  1. linenum
  2. <h1 style="text-align:center!important;color:red!important; ">ASP CDO.Message 发送邮件完整实例 By shawl.qiu</h1>
  3. <h2 style="float:right!important;margin:0px;padding:0px; "><a href=" http://blog.csdn.net/btbtd">shawl.qiu</a> code</h2>
  4. <%    
  5.     dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody
  6.     dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd
  7.         mAction="?id=cdo"
  8.         mFrom="shawlqiu@21cn.com"
  9.         mTo="shawl.qiu@gmail.com,btbtd@msn.com"
  10.         mCc="btbtd@yahoo.com.cn"
  11.         mBcc="shawl.qiu+2@gmail.com"
  12.         mSubject="mail subject"
  13.         mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"
  14.         mSmtp="smtp.21cn.com"
  15.         mPort=25
  16.         mTimeout=60
  17.         mUser="shawlqiu"
  18.         mPwd="不告诉你"
  19.         
  20.     dim qId:qId=request.queryString("id")
  21.     
  22.     call fCdoSendMail(qId,request.form)
  23.     
  24.     if qId<>"cdo" then _
  25.     call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)
  26.     
  27.     function fCdoSendMail(rQs, rForm)
  28.     '''''''''''''''''''''''''''''''''''''''''''''''''''
  29.     ' ASP CDO.Message 发送邮件完整实例 By shawl.qiu
  30.     ' CDO 发送邮件操作函数 fCdoSendMail
  31.     '''''''''''''''''''''''
  32.     ' 参数说明:
  33.     ''''''''''''''
  34.     ' rQs = request.queryString(id)
  35.     ' rForm = request.Form 集合
  36.     '''''''''''''''''''''''
  37.     ' sample call: 
  38.     ''''''''''''''
  39.     ' call fCdoSendMail(qId,request.form)
  40.     '''''''''''''''''''''''''''''''''''''''''''''''''''
  41.         if rQs="" or rQs<>"cdo" then exit function
  42.         if isObject(rForm)=false then exit function
  43.         dim temp
  44.         for each temp in rForm
  45.             select case temp
  46.                 case "mTextBody"
  47.                 case "mHtmlBody"
  48.                 case "mFile"
  49.                 case "mSsl"
  50.                 case else
  51.                     execute "dim "&temp&":"&temp&"=request.form(temp)"
  52.             end select
  53.         next
  54.         dim mSsl, mTextBody, mHtmlBody
  55.             mSsl=request.form("mSsl")
  56.             mTextBody=request.form("mTextBody")
  57.             mHtmlBody=request.form("mHtmlBody")
  58.             mBody="<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"" />"&chr(13)&mBody
  59.             
  60.             if mSsl="" then mSsl=false else mSsl=true
  61.         dim cdo 
  62.             set cdo=createObject("cdo.message")
  63.                 'configuration information for the remote SMTP Server
  64.                 with cdo.configuration.fields
  65.                     .Item(" http://schemas.microsoft.com/cdo/configuration/sendusing") = mSend
  66.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpserver")= mSmtp 'SMTP 服务器地址
  67.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpserverport")= mPort '端口 25
  68.                     .item(" http://schemas.microsoft.com/cdo/configuration/sendusername")= mUser '用户名
  69.                     .item(" http://schemas.microsoft.com/cdo/configuration/sendpassword")= mPwd '用户密码
  70.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")= mAuth 'NONE, Basic (Base64 encoded), NTLM
  71.                     .item(" http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")= mTimeout '超时设置, 以秒为单位
  72.                     .Item(" http://schemas.microsoft.com/cdo/configuration/smtpusessl") = mSsl '是否使用套接字 true/false 
  73.                     .Update
  74.                 end with
  75.                 with cdo
  76.                     .from=mFrom
  77.                     .to=mTo
  78.                     if mCc<>"" then .cc=mCc
  79.                     if mBcc<>"" then .bcc=mBcc
  80.                     .subject=mSubject
  81.                     if mTextBody<>"" then .textbody=mBody
  82.                     if mHtmlBody<>"" then .htmlbody=mBody
  83.                     
  84.                     'if len(mFile)>0 then .Addattachment mFile
  85.                     '// CDO 发附件规则: 当前目录的文件可用变量, 不是当前的目录不能用变量
  86.                     On Error Resume Next
  87.                     .send
  88.                     if err.number<>0 then response.write "邮件发送失败, 错误编号: "&_
  89.                     err.number&"<br/>错误描述: "&err.description else response.write "邮件已发送"
  90.                 end with 'shawl.qiu code'
  91.             set cdo=nothing
  92.         end function
  93.     function fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)
  94.     if mAction="" then exit function
  95.     '''''''''''''''''''''''''''''''''''''''''''''''''''
  96.     ' ASP CDO.Message 发送邮件完整实例 By shawl.qiu
  97.     ' CDO 发送邮件表单函数 fCdoForm
  98.     '''''''''''''''''''''''
  99.     ' 参数说明: (除 mAction 外, 其余参数值不是必须)
  100.     ''''''''''''''
  101.     ' mAction= 表单提交 URL, 如: ?id=cdo
  102.     ' mFrom= 发件人 Email
  103.     ' mTo= 收件人 Email
  104.     ' mCc= 收件人 Email
  105.     ' mBcc= 收件人 Email
  106.     ' mSubject= 邮件标题
  107.     ' mBody= 邮件内容
  108.     ' mSmtp= SMTP 服务器地址, 如: smtp.21cn.com
  109.     ' mPort= SMTP 端口, 如: 25
  110.     ' mTimeout= 超时限制, 如: 60(单位为秒)
  111.     ' mUser= 用户名
  112.     ' mPwd= 密码
  113.     '''''''''''''''''''''''
  114.     ' sample call: 
  115.     ''''''''''''''
  116.     ' dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody
  117.     ' dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd
  118.     '     mAction="?id=cdo"
  119.     '     mFrom="shawlqiu@21cn.com"
  120.     '     mTo="shawl.qiu@gmail.com,btbtd@msn.com"
  121.     '     mCc="btbtd@yahoo.com.cn"
  122.     '     mBcc="shawl.qiu+2@gmail.com"
  123.     '     mSubject="mail subject"
  124.     '     mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"
  125.     '     mSmtp="smtp.21cn.com"
  126.     '     mPort=25
  127.     '     mTimeout=60
  128.     '     mUser="shawlqiu"
  129.     '     mPwd="yourPassword"
  130.     ' call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)
  131.     '''''''''''''''''''''''''''''''''''''''''''''''''''    
  132. %>
  133.         <form action="<% response.write mAction %>" method="post" name="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.         </form><!-- shawl.qiu code -->
  165. <%     end function %><br />
  166. <a href="?">back</a>

2. 预览:

 

ASP 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验证选项: 邮件发送选项:


back

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Classic ASPSSL 发送电子邮件的示例代码: ``` <% Dim objMail Set objMail = Server.CreateObject("CDO.Message") ' Set up the email configuration objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "your_email@gmail.com" objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "your_password" objMail.Configuration.Fields.Update ' Set up the email content objMail.To = "recipient_email@example.com" objMail.From = "your_email@gmail.com" objMail.Subject = "Test Email" objMail.TextBody = "This is a test email sent using SSL." ' Send the email On Error Resume Next objMail.Send If Err.Number = 0 Then Response.Write "Email sent successfully." Else Response.Write "An error occurred: " & Err.Description End If Set objMail = Nothing %> ``` 请注意,您需要将上面的代码中的以下行替换为您自己的电子邮件地址和密码: ``` objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "your_email@gmail.com" objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "your_password" objMail.To = "recipient_email@example.com" objMail.From = "your_email@gmail.com" ``` 此外,您需要将 SMTP 服务器和端口设置为您使用的电子邮件服务的设置。在上面的示例中,我们使用 Gmail 的 SMTP 服务器和端口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值