王朝网络
分享
 
 
 

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

王朝asp·作者佚名  2006-09-15
宽屏版  字体: |||超大  

/**/

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. 主内容: 两个主函数及完整应用代码

linenum

<h1 style="text-align:center!important;color:red!important; ">ASP CDO.Message 发送邮件完整实例 By shawl.qiu</h1>

<h2 style="float:right!important;margin:0px;padding:0px; "><a href=" http://blog.csdn.net/btbtd">shawl.qiu</a> code</h2>

<%

dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody

dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd

mAction="?id=cdo"

mFrom="shawlqiu@21cn.com"

mTo="shawl.qiu@gmail.com,btbtd@msn.com"

mCc="btbtd@yahoo.com.cn"

mBcc="shawl.qiu+2@gmail.com"

mSubject="mail subject"

mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"

mSmtp="smtp.21cn.com"

mPort=25

mTimeout=60

mUser="shawlqiu"

mPwd="不告诉你"

dim qId:qId=request.queryString("id")

call fCdoSendMail(qId,request.form)

if qId<>"cdo" then _

call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)

function fCdoSendMail(rQs, rForm)

'''''''''''''''''''''''''''''''''''''''''''''''''''

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

' CDO 发送邮件操作函数 fCdoSendMail

'''''''''''''''''''''''

' 参数说明:

''''''''''''''

' rQs = request.queryString(id)

' rForm = request.Form 集合

'''''''''''''''''''''''

' sample call:

''''''''''''''

' call fCdoSendMail(qId,request.form)

'''''''''''''''''''''''''''''''''''''''''''''''''''

if rQs="" or rQs<>"cdo" then exit function

if isObject(rForm)=false then exit function

dim temp

for each temp in rForm

select case temp

case "mTextBody"

case "mHtmlBody"

case "mFile"

case "mSsl"

case else

execute "dim "&temp&":"&temp&"=request.form(temp)"

end select

next

dim mSsl, mTextBody, mHtmlBody

mSsl=request.form("mSsl")

mTextBody=request.form("mTextBody")

mHtmlBody=request.form("mHtmlBody")

mBody="<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"" />"&chr(13)&mBody

if mSsl="" then mSsl=false else mSsl=true

dim cdo

set cdo=createObject("cdo.message")

'configuration information for the remote SMTP Server

with cdo.configuration.fields

.Item(" http://schemas.microsoft.com/cdo/configuration/sendusing") = mSend

.item(" http://schemas.microsoft.com/cdo/configuration/smtpserver")= mSmtp 'SMTP 服务器地址

.item(" http://schemas.microsoft.com/cdo/configuration/smtpserverport")= mPort '端口 25

.item(" http://schemas.microsoft.com/cdo/configuration/sendusername")= mUser '用户名

.item(" http://schemas.microsoft.com/cdo/configuration/sendpassword")= mPwd '用户密码

.item(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")= mAuth 'NONE, Basic (Base64 encoded), NTLM

.item(" http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")= mTimeout '超时设置, 以秒为单位

.Item(" http://schemas.microsoft.com/cdo/configuration/smtpusessl") = mSsl '是否使用套接字 true/false

.Update

end with

with cdo

.from=mFrom

.to=mTo

if mCc<>"" then .cc=mCc

if mBcc<>"" then .bcc=mBcc

.subject=mSubject

if mTextBody<>"" then .textbody=mBody

if mHtmlBody<>"" then .htmlbody=mBody

'if len(mFile)>0 then .Addattachment mFile

'// CDO 发附件规则: 当前目录的文件可用变量, 不是当前的目录不能用变量

On Error Resume Next

.send

if err.number<>0 then response.write "邮件发送失败, 错误编号: "&_

err.number&"<br/>错误描述: "&err.description else response.write "邮件已发送"

end with 'shawl.qiu code'

set cdo=nothing

end function

function fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)

if mAction="" then exit function

'''''''''''''''''''''''''''''''''''''''''''''''''''

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

' CDO 发送邮件表单函数 fCdoForm

'''''''''''''''''''''''

' 参数说明: (除 mAction 外, 其余参数值不是必须)

''''''''''''''

' mAction= 表单提交 URL, 如: ?id=cdo

' mFrom= 发件人 Email

' mTo= 收件人 Email

' mCc= 收件人 Email

' mBcc= 收件人 Email

' mSubject= 邮件标题

' mBody= 邮件内容

' mSmtp= SMTP 服务器地址, 如: smtp.21cn.com

' mPort= SMTP 端口, 如: 25

' mTimeout= 超时限制, 如: 60(单位为秒)

' mUser= 用户名

' mPwd= 密码

'''''''''''''''''''''''

' sample call:

''''''''''''''

' dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody

' dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd

' mAction="?id=cdo"

' mFrom="shawlqiu@21cn.com"

' mTo="shawl.qiu@gmail.com,btbtd@msn.com"

' mCc="btbtd@yahoo.com.cn"

' mBcc="shawl.qiu+2@gmail.com"

' mSubject="mail subject"

' mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>"

' mSmtp="smtp.21cn.com"

' mPort=25

' mTimeout=60

' mUser="shawlqiu"

' mPwd="yourPassword"

' call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd)

'''''''''''''''''''''''''''''''''''''''''''''''''''

%>

<form action="<% response.write mAction %>" method="post" name="mCdo">

<p>From:

<input name="mFrom" type="text" value="<% response.write mFrom %>" size="50%"/><br />

To: <input name="mTo" type="text" value="<% response.write mTo %>" size="50%" />

<br />

Cc: <input name="mCc" type="text" value="<% response.write mCc %>" size="50%" /><br />

Bcc: <input name="mBcc" type="text" id="mBcc" value="<% response.write mBcc %>" size="50%" /> <br />

Subject: <input name="mSubject" type="text" value="<% response.write mSubject %>" size="50%" /> <br />

Email Format:

text: <input type="checkbox" name="mTextBody" value="yes" checked="checked" />

html: <input type="checkbox" name="mHtmlBody" value="yes" /><br />

Text:<br /> <textarea name="mBody" cols="77" rows="10"><% response.write mBody %></textarea> <br />

Remote SMTP: <input name="mSmtp" type="text" value="<% response.write mSmtp %>" />

Port: <input name="mPort" type="text" value="<% response.write mPort %>" size="5" />

Timeout: <input name="mTimeout" type="text" value="<% response.write mTimeout %>" size="5" />

Sec SSL: <input type="checkbox" name="mSsl" value="ture" /> <br />

Username: <input name="mUser" type="text" value="<% response.write mUser %>" /> <br />

Password: <input name="mPwd" type="password" value="<% response.write mPwd %>" /> <br />

SMTP验证选项:

<select name="mAuth">

<option value="0">匿名验证</option>

<option value="1" selected="selected">普通验证</option>

<option value="2">NTLM 验证</option>

</select>

邮件发送选项:

<select name="mSend">

<option value="1">Send Using Pickup</option>

<option value="2" selected="selected">Send Using Port</option>

</select>

<br />

<input type="submit" value="Submit" /> <input type="reset" value="Reset" />

</form><!-- shawl.qiu code -->

<% end function %><br />

<a href="?">back</a>

2. 预览:

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

shawl.qiu code

From:

To:

Cc:

Bcc:

Subject:

Email Format: text: html:

Text:

test mail body

中文

<h2>html format</h2>

Remote SMTP: Port: Timeout: Sec SSL:

Username:

Password:

SMTP验证选项:

匿名验证

普通验证

NTLM 验证

邮件发送选项:

Send Using Pickup

Send Using Port

back

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
/**/ ASP CDO.Message 发送邮件完整实例 By shawl.qiu 作用: ASP 无组件发送电子邮件 实现了直接套用式功能, 只需修改少许选项, 即可使用. 说明: 主要操作皆封装在两个函数里, 一个为发送邮件表单(名 fCdoForm), 一个为发送邮件操作(名 fCdoSendMail) 除主收件人以外, 支持 抄送, 密送. 动态选择使用 TEXT/HTML 格式, 或者两者都选 动态输入SMTP 相关信息 支持是否使用 SSL 支持三种验证方法 附注: 暂不支持附件功能, 主要原因为服务端与客户端的限制. 服务端脚本不允许直接读取客户端文件. 目录: 1. 主内容: 两个主函数及完整应用代码 2. 预览: shawl.qiu 2006-09-11 [url=http://blog.csdn.net/btbtd]http://blog.csdn.net/btbtd[/url] 1. 主内容: 两个主函数及完整应用代码 linenum <h1 style="text-align:center!important;color:red!important; ">ASP CDO.Message 发送邮件完整实例 By shawl.qiu</h1> <h2 style="float:right!important;margin:0px;padding:0px; "><a href=" [url=http://blog.csdn.net/btbtd]http://blog.csdn.net/btbtd[/url]">shawl.qiu</a> code</h2> <% dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd mAction="?id=cdo" mFrom="[url=mailto:shawlqiu@21cn.com]shawlqiu@21cn.com[/url]" mTo="[url=mailto:shawl.qiu@gmail.com]shawl.qiu@gmail.com[/url],[url=mailto:btbtd@msn.com]btbtd@msn.com[/url]" mCc="[url=mailto:btbtd@yahoo.com.cn]btbtd@yahoo.com.cn[/url]" mBcc="shawl.qiu+[url=mailto:2@gmail.com]2@gmail.com[/url]" mSubject="mail subject" mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>" mSmtp="smtp.21cn.com" mPort=25 mTimeout=60 mUser="shawlqiu" mPwd="不告诉你" dim qId:qId=request.queryString("id") call fCdoSendMail(qId,request.form) if qId<>"cdo" then _ call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd) function fCdoSendMail(rQs, rForm) ''''''''''''''''''''''''''''''''''''''''''''''''''' ' ASP CDO.Message 发送邮件完整实例 By shawl.qiu ' CDO 发送邮件操作函数 fCdoSendMail ''''''''''''''''''''''' ' 参数说明: '''''''''''''' ' rQs = request.queryString(id) ' rForm = request.Form 集合 ''''''''''''''''''''''' ' sample call: '''''''''''''' ' call fCdoSendMail(qId,request.form) ''''''''''''''''''''''''''''''''''''''''''''''''''' if rQs="" or rQs<>"cdo" then exit function if isObject(rForm)=false then exit function dim temp for each temp in rForm select case temp case "mTextBody" case "mHtmlBody" case "mFile" case "mSsl" case else execute "dim "&temp&":"&temp&"=request.form(temp)" end select next dim mSsl, mTextBody, mHtmlBody mSsl=request.form("mSsl") mTextBody=request.form("mTextBody") mHtmlBody=request.form("mHtmlBody") mBody="<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"" />"&chr(13)&mBody if mSsl="" then mSsl=false else mSsl=true dim cdo set cdo=createObject("cdo.message") 'configuration information for the remote SMTP Server with cdo.configuration.fields .Item(" [url=http://schemas.microsoft.com/cdo/configuration/sendusing]http://schemas.microsoft.com/cdo/configuration/sendusing[/url]") = mSend .item(" [url=http://schemas.microsoft.com/cdo/configuration/smtpserver]http://schemas.microsoft.com/cdo/configuration/smtpserver[/url]")= mSmtp 'SMTP 服务器地址 .item(" [url=http://schemas.microsoft.com/cdo/configuration/smtpserverport]http://schemas.microsoft.com/cdo/configuration/smtpserverport[/url]")= mPort '端口 25 .item(" [url=http://schemas.microsoft.com/cdo/configuration/sendusername]http://schemas.microsoft.com/cdo/configuration/sendusername[/url]")= mUser '用户名 .item(" [url=http://schemas.microsoft.com/cdo/configuration/sendpassword]http://schemas.microsoft.com/cdo/configuration/sendpassword[/url]")= mPwd '用户密码 .item(" [url=http://schemas.microsoft.com/cdo/configuration/smtpauthenticate]http://schemas.microsoft.com/cdo/configuration/smtpauthenticate[/url]")= mAuth 'NONE, Basic (Base64 encoded), NTLM .item(" [url=http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout]http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout[/url]")= mTimeout '超时设置, 以秒为单位 .Item(" [url=http://schemas.microsoft.com/cdo/configuration/smtpusessl]http://schemas.microsoft.com/cdo/configuration/smtpusessl[/url]") = mSsl '是否使用套接字 true/false .Update end with with cdo .from=mFrom .to=mTo if mCc<>"" then .cc=mCc if mBcc<>"" then .bcc=mBcc .subject=mSubject if mTextBody<>"" then .textbody=mBody if mHtmlBody<>"" then .htmlbody=mBody 'if len(mFile)>0 then .Addattachment mFile '// CDO 发附件规则: 当前目录的文件可用变量, 不是当前的目录不能用变量 On Error Resume Next .send if err.number<>0 then response.write "邮件发送失败, 错误编号: "&_ err.number&"<br/>错误描述: "&err.description else response.write "邮件已发送" end with 'shawl.qiu code' set cdo=nothing end function function fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd) if mAction="" then exit function ''''''''''''''''''''''''''''''''''''''''''''''''''' ' ASP CDO.Message 发送邮件完整实例 By shawl.qiu ' CDO 发送邮件表单函数 fCdoForm ''''''''''''''''''''''' ' 参数说明: (除 mAction 外, 其余参数值不是必须) '''''''''''''' ' mAction= 表单提交 URL, 如: ?id=cdo ' mFrom= 发件人 Email ' mTo= 收件人 Email ' mCc= 收件人 Email ' mBcc= 收件人 Email ' mSubject= 邮件标题 ' mBody= 邮件内容 ' mSmtp= SMTP 服务器地址, 如: smtp.21cn.com ' mPort= SMTP 端口, 如: 25 ' mTimeout= 超时限制, 如: 60(单位为秒) ' mUser= 用户名 ' mPwd= 密码 ''''''''''''''''''''''' ' sample call: '''''''''''''' ' dim mAction, mFrom, mTo, mCC, mBcc, mSubject, mBody ' dim mSmtp, mPort, mTimeout, mSsl, mUser, mPwd ' mAction="?id=cdo" ' mFrom="[url=mailto:shawlqiu@21cn.com]shawlqiu@21cn.com[/url]" ' mTo="[url=mailto:shawl.qiu@gmail.com]shawl.qiu@gmail.com[/url],[url=mailto:btbtd@msn.com]btbtd@msn.com[/url]" ' mCc="[url=mailto:btbtd@yahoo.com.cn]btbtd@yahoo.com.cn[/url]" ' mBcc="shawl.qiu+[url=mailto:2@gmail.com]2@gmail.com[/url]" ' mSubject="mail subject" ' mBody="test mail body"&chr(13)&"中文"&chr(13)&"<h2>html format</h2>" ' mSmtp="smtp.21cn.com" ' mPort=25 ' mTimeout=60 ' mUser="shawlqiu" ' mPwd="yourPassword" ' call fCdoForm(mAction,mFrom, mTo, mCc, mBcc, mSubject, mBody, mSmtp, mPort, mTimeout, mUser, mPwd) ''''''''''''''''''''''''''''''''''''''''''''''''''' %> <form action="<% response.write mAction %>" method="post" name="mCdo"> <p>From: <input name="mFrom" type="text" value="<% response.write mFrom %>" size="50%"/><br /> To: <input name="mTo" type="text" value="<% response.write mTo %>" size="50%" /> <br /> Cc: <input name="mCc" type="text" value="<% response.write mCc %>" size="50%" /><br /> Bcc: <input name="mBcc" type="text" id="mBcc" value="<% response.write mBcc %>" size="50%" /> <br /> Subject: <input name="mSubject" type="text" value="<% response.write mSubject %>" size="50%" /> <br /> Email Format: text: <input type="checkbox" name="mTextBody" value="yes" checked="checked" /> html: <input type="checkbox" name="mHtmlBody" value="yes" /><br /> Text:<br /> <textarea name="mBody" cols="77" rows="10"><% response.write mBody %></textarea> <br /> Remote SMTP: <input name="mSmtp" type="text" value="<% response.write mSmtp %>" /> Port: <input name="mPort" type="text" value="<% response.write mPort %>" size="5" /> Timeout: <input name="mTimeout" type="text" value="<% response.write mTimeout %>" size="5" /> Sec SSL: <input type="checkbox" name="mSsl" value="ture" /> <br /> Username: <input name="mUser" type="text" value="<% response.write mUser %>" /> <br /> Password: <input name="mPwd" type="password" value="<% response.write mPwd %>" /> <br /> SMTP验证选项: <select name="mAuth"> <option value="0">匿名验证</option> <option value="1" selected="selected">普通验证</option> <option value="2">NTLM 验证</option> </select> 邮件发送选项: <select name="mSend"> <option value="1">Send Using Pickup</option> <option value="2" selected="selected">Send Using Port</option> </select> <br /> <input type="submit" value="Submit" /> <input type="reset" value="Reset" /> </form><!-- shawl.qiu code --> <% end function %><br /> <a href="?">back</a> 2. 预览: ASP CDO.Message 发送邮件完整实例 By shawl.qiu [url=http://blog.csdn.net/btbtd]shawl.qiu[/url] code From: To: Cc: Bcc: Subject: Email Format: text: html: Text: test mail body 中文 <h2>html format</h2> Remote SMTP: Port: Timeout: Sec SSL: Username: Password: SMTP验证选项: 匿名验证 普通验证 NTLM 验证 邮件发送选项: Send Using Pickup Send Using Port [url=http://dev.csdn.net/?]back[/url]
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有