«
ASP实现邮件发送普通附件和嵌入附件

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  网上很多关于JMail发送邮件的例子都没有写如何发附件,或者没有写清如何发内嵌的附件(比如把附件图片嵌入到HTML信件里面)</p><p>  其实最关键的就是这句要注释掉</p><p>  'JMail.ContentType = "text/html"</p><p>  (为什么要发内嵌的附件图片?因为如果是img src=网上的地址,在outlook等客户端内则显示是难看的“X”,需要手动下载图片)</p><p>  本例子参考了Dimac(w3JMail官方)的样例,文件地址:</p><p>  C:Program FilesDimacw3JMail4ExamplesASPhtmlimage.asp</p><p>  (安装了Jmail的都有)</p><p>  例子代码:</p><code>以下是引用片段:<br /><% <br />SetJMail=Server.CreateObject("JMail.Message") <br />'是否将信头编码成iso-8859-1字符集.缺省是True <br />JMail.ISOEncodeHeaders=True <br />'如果JMail.silent设置为true,ErrorCode包含的是错误代码 <br />JMail.Silent=True <br />'设置标题和内容编码,如果标题有中文,必须设定编码为gb2312 <br />JMail.Charset="gb2312" <br />'JMail.ContentType="text/html"'如果发内嵌附件一定要注释掉这行,重要! <br />JMail.From="web@mail.skyhe.com"'发送者地址 <br />JMail.FromName="SkyheSystem"'发送者姓名 <br />JMail.MailServerUserName="web"'身份验证的用户名 <br />JMail.MailServerPassword="123456"'身份验证的密码 <br />'加入新的收件人 <br />JMail.AddRecipient"kittow@mail.skyhe.com","Mr.Example" <br />'JMail.AddRecipientBCCEmail'密件收件人的地址 <br />'JMail.AddRecipientCCEmail'邮件抄送者的地址 <br />JMail.Subject="图片测试!!!" <br />JMail.Body="AnicepictureifyoucanreadHTML-mail." <br />'增加一个普通附件 <br />JMail.AddAttachment(Server.MapPath("images/email.gif")) <br />'增加一个嵌入式附件 <br />'ThereturnvalueofAddAttachmentisusedasa <br />'referencetotheimageintheHTMLBody. <br />'contentId=JMail.AddAttachment(Server.MapPath("images/email.gif")) <br />DimcontentId <br />contentId=JMail.AddAttachment("E:imagesemail.gif") <br />'只有HTML格式支持嵌入图片附件,我们采用HTML格式的邮件内容 <br />'AsonlyHTMLformattedemailscancontaininlineimages <br />'weuseHTMLBodyandappendHTML <br />JMail.HTMLBody="<html><body><fontcolor=""red"">Hi,hereisanicepicture:</font><br>" <br />JMail.appendHTML"<imgsrc=""cid:"&contentId&""">" <br />JMail.appendHTML"<br><br>goodonehuh?</body></html>" <br />'如果对方信箱不支持HTML格式邮件,我们仍需要给他一个友善的提示 <br />'ButasnotallmailreadersarecapableofshowingHTMLemails <br />'wewillalsoaddastandardtextbody <br />JMail.Body="Toobadyoucan'treadHTML-mail." <br />JMail.appendText"Therewouldhavebeenanicepictureforyou" <br />JMail.Send("mail.skyhe.com") <br />JMail.Close() <br />SetJMail=Nothing <br />%></code></p>