ASP实现邮件发送普通附件和嵌入附件2008-04-05网上很多关于JMail发送邮件的例子都没有写如何发附件,或者没有写清如何发内嵌的附件(比如把附件图片嵌入到HTML信件里面)其实最关键的就是这句要注释掉"JMail.ContentType = "text/html"(为什么要发内嵌的附件图片?因为如果是img src=网上的地址,在outlook等客户端内则显示是难看的“X”,需要手动下载图片)本例子参考了Dimac(w3JMail官方)的样例,文件地址:C:Program FilesDimacw3JMail4ExamplesASPhtmlimage.asp(安装了Jmail的都有)例子代码:以下是引用片段: <% 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:imagesemail.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 %>