请选择 进入手机版 | 继续访问电脑版

 找回密码
 注册

只需一步,快速开始

蓝色理想 最新研发动态 新增登录提醒插件 - 用至我的站点 地图任务一定要做 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

MIUI手机主题设计大赛,奔驰大奖等你拿! 想加薪?!蓝色理想招聘提供你更多机会 悬赏答疑,赚取积分兑奖品!

查看: 2165|回复: 13

请问如何用JMail发送HTML邮件? [复制链接]

Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 09:18:31 |显示全部楼层
为什么我这个只能发送纯文本邮件呢?我只想在邮件内容里加回车什么的,要求不高,请问这段代码哪里有问题?
  1. dim action
  2. dim rs
  3. dim id
  4. dim title
  5. dim name
  6. dim email
  7. action=request("action")
  8. id=Request.QueryString("id")

  9. if isnumeric(id)=0 or id="" then
  10. response.write "非法ID参数"
  11. response.end
  12. end if

  13. set rs=server.createobject("adodb.recordset")
  14. rs.open "select * from company where id="&id,conn,1,1
  15. if rs.eof or rs.bof then
  16. response.write "<Script>window.alert('该信息不存在');history.go(-1);</Script>"
  17. response.end
  18. else

  19. name=rs("name")
  20. company=rs("company")
  21. email=rs("email")
  22. rs.close
  23. set rs=nothing

  24. select case action
  25. case "yes"

  26. body="文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容"

  27. dim JMail
  28. set JMail=server.CreateObject("Jmail.message")
  29. JMail.Silent=true
  30. JMail.Charset = "gb2312"
  31. JMail.FromName =发件人
  32. JMail.from =ServeMail
  33. JMail.AddRecipient email
  34. JMail.Subject ="邮件标题"
  35. jmail.Body=body

  36. JMail.MailServerUserName = mailserverloginname
  37. JMail.MailServerPassWord = mailserverloginpass
  38. JMail.MailDomain = mailuserdomain
  39. JMail.Priority=3
  40. sendok=JMail.send(mailserver)
  41. Set JMail=nothing
  42. conn.close
  43. set conn=nothing
  44. if sendok then
  45. response.write "<Script>window.alert('发送成功!');history.go(-1);</Script>"
  46. else
  47. response.write "<Script>window.alert('发送失败!');history.go(-1);</Script>"
  48. end if

  49. case "no"

  50. body="文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容文本内容"


  51. set JMail=server.CreateObject("Jmail.message")
  52. JMail.Silent=true
  53. JMail.Charset = "gb2312"
  54. JMail.FromName =发件人
  55. JMail.from =ServeMail
  56. JMail.AddRecipient email
  57. JMail.Subject ="邮件标题"
  58. jmail.Body=body

  59. JMail.MailServerUserName = mailserverloginname
  60. JMail.MailServerPassWord = mailserverloginpass
  61. JMail.MailDomain = mailuserdomain
  62. JMail.Priority=3
  63. sendok=JMail.send(mailserver)
  64. Set JMail=nothing
  65. conn.close
  66. set conn=nothing
  67. if sendok then
  68. response.write "<Script>window.alert('发送成功!');history.go(-1);</Script>"
  69. else
  70. response.write "<Script>window.alert('发送失败!');history.go(-1);</Script>"
  71. end if
  72. end select
  73. end if
  74. %>
复制代码
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 17:27:06 |显示全部楼层
自己顶

不想通宵

银牌会员

帖子
628
体力
2689
威望
2
居住地
四川省 成都市
发表于 2006-11-20 17:41:59 |显示全部楼层
jmail.Body=body
加上
jmail.htmlBody=html内容

可同时发送两种格式的。
个人签名 (60 字节以内)
不支持自定义 Discuz! 代码
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 17:44:37 |显示全部楼层
原帖由 jiaxueq 于 2006-11-20 17:41 发表
jmail.Body=body
加上
jmail.htmlBody=html内容

可同时发送两种格式的。

这种方法试过,发出去的邮件是空的,看不到内容

不想通宵

银牌会员

帖子
628
体力
2689
威望
2
居住地
四川省 成都市
发表于 2006-11-20 18:24:52 |显示全部楼层
你用的什么版本哦?

我用过4.4,4.3都是OK的。
个人签名 (60 字节以内)
不支持自定义 Discuz! 代码
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 18:50:18 |显示全部楼层
你说的是JMail的版本吗?在哪里看?我用的是35818.net的空间

梦幻之旅

中级会员

帖子
233
体力
450
威望
0
居住地
湖南省 衡阳市
发表于 2006-11-20 19:59:25 |显示全部楼层
我试的可以行.....我用的是WIN2K和IIS5.0.
学习无止境,愿与经典论坛共同辉煌!----john
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 21:07:09 |显示全部楼层
原帖由 goldnation 于 2006-11-20 19:59 发表
我试的可以行.....我用的是WIN2K和IIS5.0.

你用的是我上面那段代码吗?
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-20 21:41:36 |显示全部楼层
内容还是空白的,请帮我看看是哪里出错了好吗?

  1. dim action
  2. dim rs
  3. dim id
  4. dim title
  5. dim name
  6. dim email
  7. action=request("action")
  8. id=Request.QueryString("id")

  9. if isnumeric(id)=0 or id="" then
  10. response.write "非法ID参数"
  11. response.end
  12. end if

  13. set rs=server.createobject("adodb.recordset")
  14. rs.open "select * from company where id="&id,conn,1,1
  15. if rs.eof or rs.bof then
  16. response.write "<Script>window.alert('该信息不存在');history.go(-1);</Script>"
  17. response.end
  18. else

  19. name=rs("name")
  20. company=rs("company")
  21. email=rs("email")
  22. rs.close
  23. set rs=nothing

  24. select case action
  25. case "yes"

  26. JMail.htmlBody="<html><head><META content=zh-cn http-equiv=Content-Language><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312""></head><body>邮件内容<br>邮件内容<br>邮件内容<br>邮件内容</body></html>"

  27. JMail.Body="邮件内容"

  28. dim JMail
  29. set JMail=server.CreateObject("Jmail.message")
  30. JMail.Silent=true
  31. JMail.Charset = "gb2312"
  32. JMail.FromName =WebSite_Title
  33. JMail.from =ServeMail
  34. JMail.AddRecipient email
  35. JMail.Subject ="审核结果通知"
  36. JMail.Body=body
  37. JMail.htmlBody=html

  38. JMail.MailServerUserName = mailserverloginname
  39. JMail.MailServerPassWord = mailserverloginpass
  40. JMail.MailDomain = mailuserdomain
  41. JMail.Priority=3
  42. sendok=JMail.send(mailserver)
  43. Set JMail=nothing
  44. conn.close
  45. set conn=nothing
  46. if sendok then
  47. response.write "<Script>window.alert('发送成功!');history.go(-1);</Script>"
  48. else
  49. response.write "<Script>window.alert('发送失败!');history.go(-1);</Script>"
  50. end if

  51. case "no"

  52. JMail.htmlBody="<html><head><META content=zh-cn http-equiv=Content-Language><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312""></head><body>邮件内容<br>邮件内容<br>邮件内容<br>邮件内容</body></html>"

  53. JMail.Body="邮件内容"


  54. set JMail=server.CreateObject("Jmail.message")
  55. JMail.Silent=true
  56. JMail.Charset = "gb2312"
  57. JMail.FromName =WebSite_Title
  58. JMail.from =ServeMail
  59. JMail.AddRecipient email
  60. JMail.Subject ="审核结果通知"
  61. jmail.Body=body
  62. JMail.htmlBody=html

  63. JMail.MailServerUserName = mailserverloginname
  64. JMail.MailServerPassWord = mailserverloginpass
  65. JMail.MailDomain = mailuserdomain
  66. JMail.Priority=3
  67. sendok=JMail.send(mailserver)
  68. Set JMail=nothing
  69. conn.close
  70. set conn=nothing
  71. if sendok then
  72. response.write "<Script>window.alert('发送成功!');history.go(-1);</Script>"
  73. else
  74. response.write "<Script>window.alert('发送失败!');history.go(-1);</Script>"
  75. end if
  76. end select
  77. end if
  78. %>
复制代码
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-21 09:26:30 |显示全部楼层
被转到这来了

小红帽

金牌会员  

帖子
2559
体力
4797
威望
1
居住地
广东省 广州市
发表于 2006-11-21 10:27:00 |显示全部楼层
  1. <%
  2. Sub Jmail(Email,Topic,Mailbody,LoginName,LoginPass,SMTP,FromEmail,FromName)'使用方法:Call Jmail(收件人Email,信件标题,信件内容,发件人Mail登陆用户名,发件人Mail登陆密码,发件人信箱服务器,发件人mail,发件人姓名,邮件的文字编码,邮件的格式为HTML格式)
  3.   Set Obj = Server.CreateObject("JMail.Message")
  4.   On Error Resume Next
  5.   Obj.Silent = True
  6.   Obj.Logging = True
  7.   Obj.Charset = "GB2312"
  8.   If Not(LoginName = "" or LoginPass = "") Then
  9.      Obj.MailServerUserName = LoginName '您的邮件服务器登录名
  10.      Obj.MailServerPassword = LoginPass '登录密码
  11.   End If
  12.   Obj.ContentType = "text/html"
  13.   Obj.Priority = 1
  14.   Obj.From = FromEmail
  15.   Obj.FromName = FromName
  16.   Obj.AddRecipient Email
  17.   Obj.Subject = Topic
  18.   Obj.Body = Mailbody
  19.   If Err<>0 Then
  20.      ErrMsg = ErrMsg & "发送失败!原因:" & Err.Description
  21.   Else
  22.      Obj.Send (SMTP)
  23.      Obj.ClearRecipients()
  24.      If Err<>0 Then
  25.         ErrMsg = ErrMsg & "发送失败!原因:" & Err.Description
  26.      Else
  27.         ErrMsg = ErrMsg & "发送成功!"
  28.      End If
  29.    End If
  30.    response.write ErrMsg
  31. End Sub
  32. %>
复制代码


下面参数 网上摘的 够详细的
(1)Body(信件正文) : 字符串
如:JMail.Body = "这里可以是用户填写的表单内容,可以取自From。"
(2)Charset(字符集,缺省为"US-ASCII") : 字符串
如:JMail.Charset = "US-ASCII"
(3)ContentTransferEncoding : 字符串
指定内容传送时的编码方式,缺省是"Quoted-Printable"
如:JMail.ContentTransferEncoding = "base64"
(4)ContentType(信件的contentype. 缺省是"text/plain") : 字符串
如果你以HTML格式发送邮件, 改为"text/html"即可。
如:JMail.ContentType = "text/html"
(5)Encoding : 字符串
设置附件编码方式(缺省是"base64)。 可以选择使用的是"base64", "uuencode" or "quoted-printable"
如:JMail.Encoding = "base64"
(6)Log(Jmail创建的日志,前提loging属性设置为true,见下面) : 字符串
如:使用Response.Write( JMail.Log )语句列出日志信息。
(7)Logging(是否使用日志) : 布尔型
如:JMail.Logging = true
(8)Recipients : 字符串
只读属性,返回所有收件人
如:Response.Write( "" + JMail.Recipients + "" );
(9)ReplyTo(指定别的回信地址) : 字符串
如:JMail.ReplyTo = "qiao198@hotmail.com"
(10)Sender( 发件人的邮件地址) : 字符串
如:JMail.Sender = "qiao198@21cn.com"
(11)SenderName(发件人的姓名) : 字符串
如:JMail.SenderName = "一克"
(12)ServerAddress(邮件服务器的地址) : 字符串
你可以指定多个服务器,用分号点开。可以指定端口号。
如果serverAddress保持空白,JMail会尝试远程邮件服务器,然后直接发送到服务器上去。
如:JMail.ServerAddress = "mail.21cn.net.cn"
(13)Subject(设定邮件的标题,可以取自From。):字符串
如:JMail.Subject = "客户反馈表单"
(14)添加文件附件到邮件
如:JMail.AddAttachment( "c:\anyfile.zip" )
(15)AddCustomAttachment( FileName, Data )
添加自定义附件.
如:JMail.AddCustomAttachment( "anyfile.txt", "Contents of file" );
(16)AddHeader( Header, Value )
添加用户定义的信件标头。
如:JMail.AddHeader( "Originating-IP","192.158.1.10" );
(17)AddRecipient(收件人):字符串
如:JMail.AddRecipient( "qiao198@hotmail.com" );
(18)AddRecipientBCC( Email ),密件收件人:
如:JMail.AddRecipientBCC( "qiao198@hotmail.com" );
(19)AddRecipientCC( Email ) ,抄送收件人:
如:JMail.AddRecipientCC( "" )
(20)AddURLAttachment( URL, 文档名)
下载并添加一个来自url的附件. 第二个参数"文档名", 用来指定信件收到后的文件名。
如:JMail.AddURLAttachment( "http://www.chinabs.net/jmail.zip", "jmail" )
(21)AppendBodyFromFile( 文件名) ,将文件作为信件正文:
如:JMail.AppendBodyFromFile( "c:\anyfile.txt" )
(22)AppendText( Text )
追加信件的正文内容,比如增加问候语或者其它信息。
如:JMail.AppendText( "欢迎访问本站!" )
(23)Close() ,强制JMail关闭缓冲的与邮件服务器的连接:
如:JMail.Close()
(24)Execute() ,执行邮件的发送
如:JMail.Execute()
偶尔接些活养家糊口。
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-21 13:06:23 |显示全部楼层
楼上大哥,能帮我看看9楼的代码哪里有问题么?
njzy 
帖子
261
体力
722
威望
0
发表于 2006-11-21 13:40:24 |显示全部楼层
楼主,你邮件发到哪里?也许收件服务器把你的HTML代码干掉了,换一个邮箱试试吧。
Hakkawawa 楼主

客家山哥

银牌会员

帖子
3633
体力
2708
威望
0
居住地
广东省 深圳市
发表于 2006-11-21 13:52:24 |显示全部楼层
原帖由 njzy 于 2006-11-21 13:40 发表
楼主,你邮件发到哪里?也许收件服务器把你的HTML代码干掉了,换一个邮箱试试吧。

163、126
用TOM免费邮箱发的
您需要登录后才可以回帖 登录 | 注册


Archiver|手机版|blueidea.com ( 京ICP备05002321号 )    

GMT+8, 2012-5-22 08:53 , Processed in 0.117969 second(s), 7 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部