ASP采用Jmail发送普通附件和嵌入附件

ASP采用Jmail发送普通附件和嵌入附件(参考w3JMail官方例程)

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

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

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

例子代码:
+展开
-VBScript

'*************************************************
'*                                               *
'*   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"))
        Dim contentId
        contentId = JMail.AddAttachment("E:\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


原BLOG地址:
http://skyhe.com/blog/bloget/home/review.asp?id=497
有问题请跟贴或者在偶得BLOG留言

PS:这次主要是赶公司的一个项目临时想到的,Jmail用了几年,都是发普通Html邮件,或者发附件
突然想到用内嵌图片的方法来解决“X”的问题,没想到还是卡了一下,郁闷>_<
发出来是希望朋友们遇到类似情况不会再绕弯路,呵呵^_^
AD一下上半年偶做得公司网站:http://www.twzw.com,目前比较大的一个文学网站“天外中文网”

加支付宝好友偷能量挖...


评论(0)网络
阅读(123)喜欢(0)Asp/VBScript