说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在ASP中,如何把一个页面发Email给对方

编辑:说三道四文库 发布时间:2017-10-20 04:05
HTML文档下载 WORD文档下载 PDF文档下载
rt
如何在网页中实现自动发送电子邮件功能

邮件列表(mailing list)是电子邮件的扩展应用之一,被广泛应用于用户的跟踪服务,发布产品信息,以及电子报刊等方面。用户可以向相应的邮件服务器发送一份订阅申请邮件,这样该用户就被加入到该邮件发送的列表中。其过程是:用户填写相关申请订阅信息,系统根据用户提供的邮箱地址发送一封确认邮件,并要求用户打开自己的邮箱,点击邮件相关确认部份将其的确认信息发送给网站的Webmaster,Webmaster在得到确认信息后向用户开通相关的服务。那么这种自动发送邮件的功能是怎样实现的,我们怎样在自己网站中实现该功能呢?下面将对此实现方法进行阐述。
软件厂商提供了方便、简易、与服务器无关且稳固的方法,使我们可以在页面上用一些ASP组件直接发送邮件。如:Microsoft提供的CDONTS及第三方组件Jmail、ASPFreeMail,FastMail,ASPEmail,ASPQEmail等。
1.CDONTS(collaboration Data Object for NT Server)
CDONTS与ADO类似,它们为用户提供了用任何程序和脚本语言访问操作系统复杂和稳固的功能集合的能力。编程人员通过以ActiveX封装Windows的本地消息服务来收发电子邮件。Windows2000中会默认安装SMTP服务,Windows NT中可用Windows NT4.0 option pack 4安装SMTP服务。安装后CDONTS.DLL存放在C:\Winnt\System32\目录下面。有了该组件我们还不能立即应用它,在对它进行使用之前我们必须先完成组件的注册,我们可以在MS-DOS方式下进入到CDONTS.DLL所在的目录C:\Winnt\System32\下输入:
  c:\winnt\system32>regsvr32  cdonts.dll
(如果我们想将其御载可用指令: c:\winnt\system32>regsvr32/u cdonts.dll)
通过CDONTS发送电子邮件非常方便,仅需创建一个邮件对象并设置其几个相关属性便可实现。基本过程如下:
<%‘创建一个邮件对象
set NewMailObj=CreatObject(“CDONTS.NewMail”) 
  NewMailObj.from=“源地址(发件人名)”
  NewMailObj.To=“目标地址(收件人名)”
  NewMailObj.Subject=”标题”
  NewMailObj.Body=“邮件内容”
  NewMailObj.AttachFile “filename”,"附件名"
设置优先级,0-不重要,1-一般,2-重要
  NewMailObj.Importance=2
  NewMailObj.Cc=”抄送地址”
NewMailObj.BCc=”密送地址”
NewMailObj.send  ‘邮件发送
  Set NewMailObj=Nothing  ‘释放对象实例
%>
下面以网络杂志订阅系统的订阅申请及确认实现部分为例具体说明怎样用CDONTS对象实现自动发送邮件的功能。
运行环境:Windows NT 4.0,Windows option pack 4,IE 5.0,OutlookExpress
文件名:Order.asp
功能:提交订阅内容
<html>
<head>
<title>选择杂志</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<form name="form1" action="SendMail.asp" method="post">
  <table name=table1 width="39%" bgcolor="#99CCFF">
    <tr><td colspan="2" height="19"> 
        <div align="left">您的姓名: 
          <input type="text" name="FUserName">
        </div>
      </td></tr>
    <tr><td colspan="2" height="25"> 
        <div align="left">您的E-mail地址: 
          <input type="text" name="FUserMail">
        </div>
</td></tr>
    <tr><td colspan="2">请选择杂志: </td>
    </tr>
    <tr><td width="54%" height="25"> 
        <input type="checkbox" name="News" value="时事新闻 ">
        时事新闻 </td>
      <td width="46%" height="25"> 
        <input type="checkbox" name="Hardware" value="硬件新品 ">
        硬件新品 </td></tr>
    <tr><td width="54%" height="25"> 
        <input type="checkbox" name="Software" value="软件动态 ">
        软件动态 </td>
      <td width="46%" height="25"> 
        <input type="checkbox" name="English" value="每日英语">
        每日英语</td></tr>
  </table>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="reset" value="复位">
</form>
</body>
</html>
运行后显示如下:
 
文件名:SendMail.asp
功能:产生用户个性化邮件并发给用户
因为要用到CDONTS常量,而CDONTS常量的声明放在CDONTS.INC中,因此在程序开头要说明使用包含文件cdont.inc。
<!--include file="cdonts.inc"--> 
<%@ Language=VbScript %>
<%Dim Susrmail,Snews,Shardware,Ssoftware,Senglish
  SusrName=request.form("FUserName")
  Susrmail=request.form("FUserMail")
  Snews=request.form("News")
  Shardware=request.form("Hardware")
  Ssoftware=request.form("Software")
  Senglish=request.form("English")
Sub SendUserMail(UserName,UserMail,MasterMail)
  Dim NewMailObj,MailBody
  Set NewMailObj=Server.CreateObject("CDONTS.NewMail")
  NewMailObj.From=MasterMail
  NewMailObj.To=UserMail
  NewMailObj.Subject="确认信息" 
  'MailFormat置为CdoMailFormatMime,正文格式为HTML 
  NewMailObj.MailFormat=CdoMailFormatMime
  MailBody=UserName&"先生(女士)您好:"&VbNewline&"    您已填写并提交网络杂志订阅登记表," 
  MailBody=mailBody&"您所订阅的杂志有:"&VbNewline&Snews&Shardware&Ssoftware&Senglish
  MailBody=mailbody&VbNewline&"收到本邮件后请单击以下链接完成确认"&VbNewline
  MailBody=mailbody&http://myweb.dott.com/cgi-bin/confirm?Susremail=UserMail&Usrid=jeudf3844
 ‘在这里Usrid代表用户标志,应由服务器端的ASP程序生成,此处简化了生成过程
  MailBody=mailbody&VbNewline&"系统管理员会尽快开通您的网络杂志服务功能"&VbNewline&"谢谢您的订阅" 
  NewMailObj.Body=mailBody
  NewMailObj.send
  Set NewMailBody=Nothing 
 End sub%>
<%SenduserMail SusrName,Susrmail,"TcpIpBoy@263.com"%>
确认邮件已送出!请打开您的邮箱<%=Susrmail%>"以确认  用户收到的邮件内容如下:
 
用户点击确认链接后会向服务器端处理程序Confirm.asp递送用户的标识字(Usrid)邮箱地址(Susrmail),供Confirm.asp将该用户加入到杂志邮件发送列表数据库中(程序略),从而实现杂志邮件的自动发送。

名称
 功能
 格式
 
Attach
 添加附件
 Sub AttachFile(Source, [FileName], [EncodingMethod])
 
AttachURL
 以URL格式添加附加和数据
 Sub AttachURL(Source,ContentLocation,

[ContentBase], [EncodingMethod])
 
BCC
 以“,”分隔的BCC接收者列表(暗送)
 字符串类型属性
 
Body
 Text或者HTML格式的邮件正文
 字符串类型属性
 
body format
 邮件正文格式
 0:表示HTMl格式,1:表示Text格式
 
CC
 以“,”分隔的CC接收者列表(抄送)
 字符串类型属性
 
ContentBase
 带有URL附件的邮件中正文采用的URL基地址
 字符串类型属性
 
ContentLocation
 带有URL附件的邮件中正文采用的URL 
 字符串类型属性
 
From
 邮件发送方地址
 字符串类型属性
 
Importance
 邮件级别
 0: 普通 1:机密 2:绝密
 
Send
 发送邮件
 Sub Send([From], [To], [Subject], [Body], [Importance])

各个参数可以参考上下文属性
 
SetLocaleIDs
 设置新消息的代码页标识
 Sub SetLocaleIDs(CodePageID As Long)
 
Subject
 邮件主题
 字符串类型属性
 
To
 以“,”分隔的接收者地址列表
 字符串类型属性
 
Value
 任意的邮件头的值
 字符串类型属性
 
Version
 当前集合数据对象库(CDO)的版本号
 只读字符串类型属性
 

在使用有关对象的方法时,方括号参数可以省略。

下面是采用ASP使用的例子:

 Dim MailObject 

Set MailObject = Server.CreateObject("CDONTS.NewMail") 

MailObject.Send "发送方邮件地址","接收方邮件地址","主题","邮件正文" 

 发送附件时可以这样:    

Dim MailObject 

Set MailObject = Server.CreateObject("CDONTS.NewMail") 

Set MailObject = Server.CreateObject("CDONTS.NewMail") 

att_fileName="附件文件名完整路径" 

f_name="文件名" 

MailObject.From="在这填写发件人地址" 

MailObject.To="在这填写接收人地址" 

MailObject.Subject="填写主题" 

MailObject.Body="填写正文" 

MailObject.AttachFile att_file,f_name 

MailObject.Send
<!--#include file="conn.asp" -->
<HTML>
<HEAD>
<% 
if session("password1")<>"ok" then
Response.Redirect "adm.asp"
end if
%>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function window_onload() {
sendmail.mailsubject.focus();
}

//-->
</SCRIPT>
</HEAD>
<BODY LANGUAGE=javascript onload="return window_onload()">
<%
if Request.Form("mailsubject")<>empty then
mailsubject = Trim(Request.Form("mailsubject"))
mailbody = Trim(Request.Form("mailbody"))

Set objCDOMail = Server.CreateObject("CDONTS.NewMail")
objCDOMail.From = "xza@public.whptt.sd.cn"
objCDOMail.To="xiazhengan@163.com"
sql="select email from email"
set rs=conn.execute(sql)
Response.Write("正在邮件群发.................." )
do while not rs.eof 
objCDOMail.To = rs("email")
RS.MoveNext
Loop
rs.close
objCDOMail.Subject = mailsubject  
objCDOMail.Body = mailbody   
objCDOMail.Send
Set objCDOMail = Nothing

Response.Write "<p align=center>发送成功</p>"
Response.End
end if
%>
<form name="sendmail" action=SendEmail.asp method="post" ><br>
        <table border="1" cellspacing="1" cellpadding="4" width="562" align="center" style="WIDTH: 562px; HEIGHT: 405px">
          <tr > 
            <td height="30" colspan="2" align="middle"><b>发 送 邮 件</b></td>
          </tr>
         
          
          <tr> 
            <td height="25" width="20%">标题:</td>
            <td height="25" width="80%"> 
              <input name="mailsubject" size="50" 
     >
             </td>
          </tr>
          <tr> 
            <td height="25" width="20%">内容:</td>
            <td height="25" width="80%"><TEXTAREA style="WIDTH: 510px; HEIGHT: 278px" name=mailbody rows=16 cols=61></TEXTAREA>
             
            </td>
          </tr>
          <tr> 
            <td height="10" colspan="2" align="middle"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
              <input type="submit" name="Submit" value="发送">
             
            </td>
          </tr>
        </table>
      </form>


</BODY>
</HTML>
谢谢楼上的两位兄弟
我的意思是如何把上一个页面(重点,整个页面格式)发email到别人的邮箱
多界,多界
可以在outlook中编辑HTML,如果有图片,HTML 指向图片所在主机
谷歌Chrome或新增通知中心 与Google Now整合 传言称HBO节目将登陆苹果Apple TV? Crashlytics被收购,应用崩溃报告服务要火了? 微软公布WP7.8完整功能 诺基亚率先升级 BlackBerry 10或许不仅仅是一剂强心针 一周消息树:专访蒋彪:JavaEE是企业级开发首选 移动周报:从封闭到开放,iOS生态系统要变天? 游戏平台上:Win7已跌破70% Ubuntu突破1% 不再那么传奇 扎克伯格时代或结束 微软应该联手Firefox OS,打造破坏性生态系统 中美IT人才俱乐部第一期:硅谷经验面面观 中国第四季度Android和iOS智能手机出货量高达98% 开发者眼中的代码审查“真相” 互联网产品设计的12个理念 Pair、Between、小恩爱:妹纸装个情侣应用吧? 横跨四大操作系统:3DMark将挑战所有智能设备 美国碰壁欧洲得意 华为获CERN青睐 应用数据分析新标准:Flurry增应用崩溃分析功能 Twitter被黑客入侵,25万用户信息可能被窃 16亿美元超级计算机项目助力解读人脑 卡巴斯基发现新型Android恶意软件 可入侵Windows 谷歌发布基于B-Tree的C++模板库 开源产品系列:高性能Web框架Zend Framework LiFi是否会取代WiFi? 1月浏览器排行:IE10突破1% Chrome连续3月下滑 Wine让Android也能运行Windows软件 Cory Ondrejka,是这位工程师拯救了Facebook! 三星争夺企业市场的三大痛点与对策 Xcode更新至4.6 支持iOS 6.1 工程师揭秘:NVIDIA如何锻造Android掌机 VMware掌控Puppet 老用户会被锁定吗? 蓝屏提示Kernel stack size less than 0x500 bytes,怎么解决阿 关于数据库恢复 这里有人搞PSOS开发的吗?? 上帝说他喜欢偷窥,我当然愿意让他在我的第一次的时候大开眼界,但我只和那个跟我结婚的女人做,上帝哭了,说“我怕是等不到了” 菜鸟的问题:orb vs application server 关于在vector里面放入跟踪类的一些情况,进来看看。 Jdk 1.4 怎么删除一个string内所有的中文字? 哪位有输入法的源程序(vc6.0可以编译的)可否给俺发一份? 初学者问题,php、mysql如何安装? 一台新路由器怎么来配置啊,谢谢了!! 急聘二名程序员 今天发现以前上不去的网站可以上了,是否中央对网上舆论放松了? 文件的操作问题 强烈建议斑竹删除魔鬼先生的ID,因为它不配和我们在一起讨论问题 南方的服务器都访问不了了!! 包括tencent, etang 还有我放在上海的服务器 C++标准? DDE技术请教高手 大家帮忙估个价吧(本人 成都),谢谢! 关于在php 中使用 script 的问题 怎样在每天的规定时间触发一个事件?(100分) struts多行提交怎么做!!!!!!!!!!! 在16M的flash中做了一个linux系统后,如何给它加一个rsh的服务器?(现在只有1M空间了) 请问各位作过水晶报表的,我是用报表专家的提示连SQLSERVER2000数据库,但为何运行时提示:无法登陆!!有那位有过解决的经验??很急, 有人知道这是为什么吗? 用ASP可不可以显示数据库的表的结构啊? 2000个线程同时填数据库的测试结果 如何用VC来画座标图,望众高手献艺 怎么编译pro*c? (unix下)———在线等!!!! 今天升到5个裤衩,高兴,散分 有谁知道《斯托克代尔悖论》的内容? 使用VB6.0编程设置IIS5.0服务器 谁有InstallShield,包括汉化界面,中文语言包和注册码,200分回报 freedorm格式数据窗口打印问题,字太长如何自动换行, 一个头痛问题。 做过政府审计软件的请帮帮忙,怎么从十来套不同表结构的数据库导数据到一个固定表结构的数据库呢? 如何让菜单可用或不可用?急啊~~ Lotus中的js问题 哪有Oracle中文最新版下载呀, 请问各地delphi认证培训的费用是多少? re:下雨了 怎么样加提示框 借一个问题!XP里面网卡怎么工作不正常 请问有什么办法破VBA的密码 CEdit 背景色的问题 100 分 请问vb中浏览器控件是在哪个文件中,另外我想在vb程序中加入介绍性网页,应该怎么办! 了解jpeg的请进 高分急求数据库解决方案! 请问vb中浏览器控件是在哪个文件中,另外我想在vb程序中加入介绍性网页,应该怎么办! 存储类 在MainFrame里怎么得到一个指向MyDoc类的指针? 上海的弟兄前来领分!!!! 今天听说《光辉岁月》是beyond乐队献给南非首位黑人总统的歌曲,请问这位总统叫什么名字 用法语解释一句话小王子里面那句经典的话“tu sais quand on est tellement triste,on aime les couchers de soleil.不要太难的句子,一两句话就行. 为什么说决策是管理的本质? 光辉岁月 是beyond为曼德拉写的 这句话用英语怎么说 钱贬值的本质是什么? 如图,在边长为4的等边三角形ABC中,AD是BC边上的高,点E,F是AD上的两点,则图中阴影部分的面积是( )A.4√3B.3√3C.2√3D.√3对不起没办法将图画出来,只能告诉大家该图是一个边长为4的等边三角形, 形容快活 带心的成语 法语 选择 有说明最好 急求~~~1 jacques va venir a Nice ( ) une semaine.A. en B pour C.dans D. il y a 2 elle a des conffres semblables ( )A avec les miennes B aux miens c aux miennes d des miens3 ces films ne sont pas 已知:等边三角形ABC的边长等边三角形ABC的边长为2,D,E分别是AB,Ac的中点,沿DE将三角形ADE折起,是AD垂直DB,连AB,AC,得如图所示的四棱锥A-BCED(1)求证:AC垂直平面ABD(2)求四棱锥A-BCED的体积 求高手教如何做政治选择题 法语du和de的读音Les femmes ont du riz.Les femme n'ont pas de riz.这两句话中的de和du发音是不是一样? 本质决定一切,这句话怎么来解释的 e e t r c n 怎么排成一个英语单词 钱的本质是什麽 已知a的模=根号2,b的模=3,a与b的夹角为45°求使a+xb与xa+b的夹角为钝角时,x的取值范围 若某一函数的导函数是2的x方,则该函数为? piao po 是什么词语 27^2/3-(1/2)^-2+(√2/2)^0+lg4+2lg5-7log7^8= 关于出师表和陈情表的经典名言 求教法语:de和du究竟怎么区分Je vous presenter Christian Rigon,directure du francaisJe viens de Madridde和du可以互换么? -1-(0.5-2/3)除1/3*[-2-(-27)|1/8-0.25|= market access mechanism 我要一个准确的翻译意思我懂 法语中de du分不清J'ai horreur de l'art moderne.Elle n'a pas d'entant.Il fait du tennis.Je fais de la natation.这里的du de有什么区别, 这是物业管理实物的案例题1、某高档商品住宅小区环境优美,绿化覆盖率超过30%物业管理公司以给业主生活提供方便为由,单方面做出决定,在中心花园草地边设了几个售货亭,出租给小商贩经 四年级科学小论文 100字 在法语中 dont 的用处 dont 跟 de que 的区别 物业管理人员需要那些知识 科学作文100字 法语dont的用法疑问Bonjour monsieur,j'enquête sur le vol dont a été victime Mme Pivert这句话中dont的用法, 物业管理知识物业服务合同是由 业主委员会 还是 业主大会 与物业管理企业签订的? What are some items or possessions that you or your family own that you cannot live without today? 法语,dont 有名词补语的用法.这句话:Le chanteur dont j'aime les disques est tres connu.这里don这里 dont 相当于whose 修饰 disques,那么为什么disques,前有还定冠词les? 物业管理知识问题..非常急!..案例:一天早晨,某大厦一台正在运行中的电梯突然发生故障,将在大厦办公的某公司一员工困在空中,管理处领导马上赶到现场,组织有关人员进行抢修,经过一个小 送东阳马生序的生是什么意思 看拼音写词语gong dian hui huang是什么 成语举什么人才 分母是9的最大的假分数是什么 数轴上点A表示的数为-4,点B表示的数为-6,则点B在点A的( )侧. (25/4)^1/2-(27/8)^-2/3+(1-√3)^0= 要写过程 need to的否定回答need否定形式还有does not need to 试运用唯物辩证法的对立统一、质量互变规律或本质现象中的某一原理,(或者其他唯物辩证法原理都可以)来分析问题和事例. 才可以组成成语吗 否定前移和 need 否定前移的句子主语必须是第一人称吗?是不是有的次不用否定前移,否定加在宾语重句中和主句的位于上都行呢?虽然是否定前移,但是不是在翻译成汉语的时候否定要翻译到后 下列哪个水平的生理学研究有助于揭示生命现象最本质的基本规律? 填成语:( )才( )举 advice和advise的区别rt 乐扣乐扣杯变形了怎么办 举和羊能组成什么四字成语? 求advice和advise的区别例如那个可以加s 孔子的性格是怎样的需要具体描述下 what is the company ownship structure是什么意思 蜿蜒的近义词是 乐扣塑料杯 融化、变形的温度是多少? 已知双曲线y1=x分之6与y2=x分之k在第一象限.作一条平行于x轴的直线交y1 y2于B已知双曲线y1=x分之6与y2=x分之k在第一象限.作一条平行于x轴的直线交y1 y2于B A .连接oA.过B作BC平行于OA .交x轴 蜿蜒的近义词求各位同志帮帮忙 饿(wu第4声有什么组词没了是wu不是e 如图,直线y1=x+2与y2=x分之k相交于点A,B,1,求该双曲线的解析式,2,求不等式y2≥y1时,x的取值范围是多少 土建及做工程资料的高手进!混凝土试块强度的计算题.某工程结构混凝土为C30,取样10组代表值:μ:33.6 ,38.1 ,28.9 ,30.6 ,35.3,36.1,34.2,33.3 ,31.7,29.8 因大于十组故λ1=1.70,λ2=2.09,采用统计立法判断并 看拼音写词语!zhui dao nie zi zhui第一声 dao第四声nie第四声zi看拼音写词语!zhui dao nie zi zhui第一声 dao第四声nie第四声zi第三声 已知双曲线y=x分之3k-6在每个象限内,y随x的减小而减小,则k的取值范围是() 浙江温岭村民收获“巨无霸”番薯 重达奶茶MM棒球帅气照 青春女神美翻了英国少年考好成绩卖关子 慈父见成绩单澳大利亚蓝山火情缓解 居民返家解救被美国小学大会上警察枪支走火 致3名儿美国就宠物食品安全发出警告 恐引发致女子梦游跌落地铁 幸得乘客跳下月台救沙特再拒入“非常” 指安理会未实现中美医学杂志报告显示 感染艾滋病毒婴儿法国教育官员称将出台法律维护创业大学新西兰千名儿童参与马拉松共庆世界儿童俄外长:俄美涉叙计划表明双方有能力应阿富汗情侣私奔 疑遭女方家属私自处决泰国北部发生重大交通事故 造成22人澳大利亚蓝山火情缓解 居民返家解救被奥巴马频接监听\"投诉\" 向默克尔韩国欲开设首个裸体海滩 以吸引外国游美国就宠物食品安全发出警告 恐引发致美国小学大会上警察枪支走火 致3名儿女子梦游跌落地铁 幸得乘客跳下月台救沙特再拒入“非常” 指安理会未实现中让古书院融入校园 让文化浸润学生心灵大众点评新版聚焦 “发现品质生活”开奖公告专家论彩广汽传祺已完成全年目标第三方质检报告出炉 “糖醇月饼”符合5万元内的超值之选三名兽医师做的颅腔手术敢一人独揽云徙科技联手阿里云布局“互联网+”想看上海滩黑帮传奇 及罗曼蒂克故事,惠州彩民说终于相信大奖是真!广州汽车产量 去年首破200万辆大乐透奖池仍达亿今晚大乐透奖池为34.62亿 预计最黄磊何炅上演现实版“开心农场”开奖公告泰华楼将原址重建南辅楼与厨房三万跑友将聚“太马”过中秋全国中国式摔跤和挠羊大奖赛将在忻州举里约残奥会 中国“泳军”半程揽20金台湾县市长满意度调查:柯文哲大跌列倒
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘