头一低,很多年都这样过去了...

欢迎来到Kittow的部落格! - http://blog.skyhe.com

Agile Web Development (敏捷Web开发)

Want to Know Something More? Move Your Mouse Here;)

我是天空的一片云,偶尔投影在你的波心,你记得也好,最好你忘掉,你我在交汇时,互放的光亮。
——徐志摩《偶然》 More...

我的VOA听写积分

2005-11-22 [返回]
ASP采用Jmail发送普通附件和嵌入附件(参考官方例程)
呼呼,总算搞定了,花了好几天时间啊>_<
网上很多关于JMail发送邮件的例子都没有写如何发附件,或者没有写清如何发内嵌的附件(比如把附件图片嵌入到HTML信件里面
郁闷到极的时候终于“柳暗花明”,噢yeah~~!!!
其实最关键的就是这句要注释掉
'JMail.ContentType = "text/html"

(为什么要发内嵌的附件图片?因为如果是img src=网上的地址,在outlook等客户端内则显示是难看的“X”,需要手动下载图片)

本例子参考了Dimac(w3JMail官方)的样例,文件地址:
C:\Program Files\Dimac\w3JMail4\Examples\ASP\htmlimage.asp
(安装了Jmail的都有)

例子代码:
<%
'*************************************************
'*                                               *
'*   Produced by Skyhe.Com                       *
'*                                               *
'*   Code Written by Kittow at 2005-11       *
'*   http://www.skyhe.com                        *
'*   Mail:kittow_AT_263.net                      *
'*                                               *
'*                                               *
'*************************************************

Set JMail = Server.CreateObject("JMail.Message")
'是否将信头编码成iso-8859-1字符集. 缺省是True 
JMail.ISOEncodeHeaders = True
'如果JMail.silent设置为true,ErrorCode包含的是错误代码
JMail.Silent = True
'设置标题和内容编码,如果标题有中文,必须设定编码为gb2312
JMail.Charset = "gb2312"
'JMail.ContentType = "text/html" '如果发内嵌附件一定要注释掉这行,重要!
JMail.From = "web@mail.skyhe.com"         ' 发送者地址
JMail.FromName = "Skyhe System"           ' 发送者姓名
JMail.MailServerUserName = "web"       ' 身份验证的用户名        
JMail.MailServerPassword = "123456"    ' 身份验证的密码
'加入新的收件人
JMail.AddRecipient "kittow@mail.skyhe.com", "Mr.Example"
'JMail.AddRecipientBCC Email   '密件收件人的地址
'JMail.AddRecipientCC Email   '邮件抄送者的地址
JMail.Subject = "图片测试!!!"
JMail.Body = "A nice picture if you can read HTML-mail."

'增加一个普通附件
JMail.AddAttachment(Server.MapPath("images/email.gif"))
'增加一个嵌入式附件
' The return value of AddAttachment is used as a
' reference to the image in the HTMLBody.
'contentId = JMail.AddAttachment(Server.MapPath("images/email.gif"))

contentId = JMail.AddAttachment("images/email.gif")

'只有HTML格式支持嵌入图片附件,我们采用HTML格式的邮件内容
' As only HTML formatted emails can contain inline images
' we use HTMLBody and appendHTML
JMail.HTMLBody = "<html><body><font color=""red"">Hi, here is a nice picture:</font><br>"
JMail.appendHTML "<img src=""cid:" & contentId & """>"
JMail.appendHTML "<br><br> good one huh?</body></html>"

'如果对方信箱不支持HTML格式邮件,我们仍需要给他一个友善的提示
' But as not all mailreaders are capable of showing HTML emails
' we will also add a standard text body
JMail.Body = "Too bad you can't read HTML-mail."
JMail.appendText " There would have been a nice picture for you"

JMail.Send( "mail.skyhe.com" )
JMail.Close()
Set JMail = Nothing
%>

落伍帖子
http://www.im286.com/viewthread.php?tid=1190069&fpage=1&highlight=
无忧帖子
http://bbs.51js.com/viewthread.php?tid=49294&fpage=1&highlight=
转自:天河网 | www.skyhe.com

Posted at 1:47 PM | Comments[27]

转自:天河网 | www.skyhe.com

发表评论
We Used Ajax to Post Your Comment!
本站评论系统采用Ajax技术,无刷新发送评论
您的大名 *   
电子邮件  
5+6=? *(请输入“5+6=?”的结果)
评论内容 *


  yu | 发表日期:2006-08-03 15:15:38
谢谢~~
试试效果~
  lwf | 发表日期:2006-03-23 15:14:46| Email
我怎么发不了啊,能不能更详细点介绍啊谢了
  kittow | 发表日期:2005-12-21 19:20:53
textarea有一个name属性把,你在接收的页面用一个变量保存Request(textarea的name),然后在JMAIL的HTMLBODY直接写入这个变量,就可以实现了。具体要怎么做,建议找一个发送表单的邮件例子看一下,就明白了:)
  ask | 发表日期:2005-12-19 16:40:00| Email
请问一下:如果通过JMAIL发送邮件,在接受到的邮件正文中要显示出表单。(即完全显示开始的已填写表单内容只不需要显示“提交”和“重写”按纽) 应如何写?是直接在JMAIL.HTMLBODY中写HTML代码?可是关于<textarea...>等这些内容如何处理?
烦教。可否请发到我的邮箱?谢谢。
  测试你的Ajax技术 | 发表日期:2005-11-23 12:55:21
测试你的Ajax技术
  kittow | 发表日期:2005-11-23 09:40:50
Dim contentId
contentId = JMail.AddAttachment("E:\images\email.gif")

先定义再用,好的习惯很重要