用ASP程序发送HTML格式邮件的问题!
用ASP程序发送HTML格式邮件的问题! [本页面推荐在1024x768分辩率下浏览] 文章类别:Javascript技术讨论 网站目录: 网站首页 —> Javascript技术讨论 转载自:www.51js.com -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-2 19:58 标题: 用ASP程序发送HTML格式邮件的问题! 我用WebEasyMail的组件发送HTML格式邮件(其实什么组件不重要) mailsend.EM_HTML_Text = "…………" "…………"这一段是邮件正文,有好长的一段,而且其中除了有HTML代码外还有ASP代码,请问各路高手怎么样才能在里面加入ASP代码? 或者怎么样读取另一页的源代码作为邮件的内容来发送? -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-2 21:16 你是说发送用邮件ASP代码,而不是ASP执行后生成的HTML代码? ASP代码中的<%不能直接赋给变量或对象的属性,得变个方法,比如 mailsend.EM_HTML_Text = "<" & "%" &vbcrlf & "ASP代码" & "%" & ">" 也就是说要把<%和%>拆开才行,其他的就没什么特别的了,跟普通的字符串赋值没什么区别。 -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 08:13 如果这样的话,那里面的ASP语句还能运行吗?比如里面有这么一段: <% if not rs.eof then pro_name = request.cookies("pro_name") else response.write "Nothing!!!" end if %> -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 10:29 我是说如果你要以邮件方式发送ASP的代码,不是让ASP代码执行才那么做,自然其中的代码不会执行。 -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 12:39 那怎么读取网页的源文件呢? -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 13:53 如果要读取的网页存放在本地服务器上,可以用FSO来读文件。 dim fso,content set fso=server.createobject("scripting.filesystemobject") set f=fso.opentextfile(server.mappath("xxx.htm"),1) content=f.readall() f.close set f=nothing set fso=nothing 如果在远程,可以用XMLHTTP来读(实际上是抓或者偷),两个函数: function GetSourceInfo(byval url) dim xmlhttp,xmlget,bgpos,endpos Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP") With xmlhttp .Open "GET", url, False .Send if .status<>200 then xmlget="error" else xmlget = bin2str(.responseBody) end if End With set xmlhttp = nothing GetSourceInfo=xmlget end function Function bin2str(binstr) Const adTypeBinary = 1 Const adTypeText = 2 Dim BytesStream,StringReturn Set BytesStream = Server.CreateObject("ADODB.Stream") '建立一个流对象 With BytesStream .Type = adTypeText .Open .WriteText binstr .Position = 0 .Charset = "GB2312" .Position = 2 StringReturn = .ReadText .close End With Set BytesStream = Nothing bin2str = StringReturn End Function 假设要取http://www.abc.com/index.htm的内容,那就用 dim content content=GetSourceInfo("http://www.abc.com/index.htm") 就可以了。 -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 15:00 我想应该可以解决我的问题了,只不过烦琐一点而已。谢谢! -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 17:49 引用: netasp 于 2003-7-3 01:53 PM 写道: 如果要读取的网页存放在本地服务器上,可以用FSO来读文件。 dim fso,content set fso=server.createobject("scripting.filesystemobject") set f=fso.opentextfile(server.mappath("xxx.htm&qu ... 问题又来了!!! ASP文件运行后,所有的ASP代码应该编译为HTML格式才对,我用上面的函数来读,竟然读到是未编译的原文件!!!但是读取远程的ASP文件就是编译后的。 有什么办法可以读到编译后的源代码? 注:我将上面的XXX.htm换成了XXX.asp -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 18:57 不要用FSO,用第二种方式取即可。 -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:25 用第二种方法提示“第六行出错!” 第六行是: .Open "GET", url, False -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:33 在content=GetSourceInfo("http://www.abc.com/index.htm")里填写完整地址后,又提示第七行出错—无法与服务器建立连接! -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:36 只填写index.asp就提示: msxml3.dll 错误 '80072ee6' URL 未使用可识别的协议 /product/sub_send.asp,行6 第六行是: .Open "GET", url, False 第七行是:.Send -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 19:40 用完整地址没有问题啊,我刚刚才测试过的。是不是你的服务器有问题? -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 19:42 如下地址是测试结果: http://www.98062.com/test/k.asp k.asp抓的是k2.asp的内容,k2.asp代码为: <% response.write "ssssssssssssssssssss" %> -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:43 服务器系统是 2000 ADV SERVER,应该没问题吧? -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:44 k.ap 和 k2.asp是放在同一个地方吗? -------------------------------------------------------------------------------- 作者: 盗帅留香 时间: 2003-7-3 19:46 可以将k.asp的代码贴出来看看吗? 你的k.asp和k2.asp是一个什么样的关系? 是运行k2.asp的同时就弹出k.asp来读吗? [ 本贴由 盗帅留香 于 2003-7-3 19:51 最后编辑 ] -------------------------------------------------------------------------------- 作者: netasp 时间: 2003-7-3 20:45 两个文件放在同一个目录下,你可以分别查看: [url]http://www.98062.com/test/k.asp[url] [url]http://www.98062.com/test/k2.asp[url] k.asp代码: <% function GetSourceInfo(byval url) dim xmlhttp,xmlget,bgpos,endpos Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP") With xmlhttp .Open "GET", url, False .Send if .status<>200 then xmlget="error" else xmlget = bin2str(.responseBody) end if End With set xmlhttp = nothing GetSourceIn 验证码确认确认验证码 请输入图片上的 6 位数字.
阅读更多
想对作者说点什么? 我来说一句

ASP 发送邮件 乱码解决

hulele2009 hulele2009

2013-08-29 14:59:57

阅读数:1494

没有更多推荐了,返回首页

不良信息举报

用ASP程序发送HTML格式邮件的问题!

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭