ASP实现邮件发送普通附件和嵌入附件
2007-06-16 12:04:48 来源:WEB开发网核心提示:网上很多关于JMail发送邮件的例子都没有写如何发附件,或者没有写清如何发内嵌的附件(比如把附件图片嵌入到HTML信件里面)其实最关键的就是这句要注释掉'JMail.ContentType = "text/html"(为什么要发内嵌的附件图片?因为如果是img src=网上的地址,ASP实现
网上很多关于JMail发送邮件的例子都没有写如何发附件,或者没有写清如何发内嵌的附件(比如把附件图片嵌入到HTML信件里面)
其实最关键的就是这句要注释掉
'JMail.ContentType = "text/html"
(为什么要发内嵌的附件图片?因为如果是img src=网上的地址,在outlook等客户端内则显示是难看的“X”,需要手动下载图片)
本例子参考了Dimac(w3JMail官方)的样例,文件地址:
C:Program FilesDimacw3JMail4ExamplesASPhtmlimage.asp
(安装了Jmail的都有)
例子代码:
以下是引用片段:
<%
SetJMail=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="SkyheSystem"'发送者姓名
JMail.MailServerUserName="web"'身份验证的用户名
JMail.MailServerPassword="123456"'身份验证的密码
'加入新的收件人
JMail.AddRecipient"kittow@mail.skyhe.com","Mr.Example"
'JMail.AddRecipientBCCEmail'密件收件人的地址
'JMail.AddRecipientCCEmail'邮件抄送者的地址
JMail.Subject="图片测试!!!"
JMail.Body="AnicepictureifyoucanreadHTML-mail."
'增加一个普通附件
JMail.AddAttachment(Server.MapPath("images/email.gif"))
'增加一个嵌入式附件
'ThereturnvalueofAddAttachmentisusedasa
'referencetotheimageintheHTMLBody.
'contentId=JMail.AddAttachment(Server.MapPath("images/email.gif"))
DimcontentId
contentId=JMail.AddAttachment("E:imagesemail.gif")
'只有HTML格式支持嵌入图片附件,我们采用HTML格式的邮件内容
'AsonlyHTMLformattedemailscancontaininlineimages
'weuseHTMLBodyandappendHTML
JMail.HTMLBody="<html><body><fontcolor=""red"">Hi,hereisanicepicture:</font><br>"
JMail.appendHTML"<imgsrc=""cid:"&contentId&""">"
JMail.appendHTML"<br><br>goodonehuh?</body></html>"
'如果对方信箱不支持HTML格式邮件,我们仍需要给他一个友善的提示
'ButasnotallmailreadersarecapableofshowingHTMLemails
'wewillalsoaddastandardtextbody
JMail.Body="Toobadyoucan'treadHTML-mail."
JMail.appendText"Therewouldhavebeenanicepictureforyou"
JMail.Send("mail.skyhe.com")
JMail.Close()
SetJMail=Nothing
%>
更多精彩
赞助商链接