zoukankan      html  css  js  c++  java
  • 利用Jmail发送带附件的邮件时乱码的解决方案

            今天在利用Jmail发送带附件的邮件时,一直收不到附件,而是得到一些“乱码”如下:This is a multipart message in MIME format. ----NEXT_BM_AEB3968967D044DC9E208D04088C60B4 Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: Quoted-Printable sdfdd ----NEXT_BM_AEB3968967D044DC9E208D04088C60B4 Content-Type: application/octet-stream; name="=?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?=" Content-Transfer-Encoding: base64 Content-Description: =?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?= Content-Disposition: inline; filename="=?GB2312?Q?12d95384-576f-424f-bf15-f8e2397e2791=2EJPG?=" Content-ID: <180B140729C34A5696C14ABD11C827A1> /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL  ....

           很显示是被编码过了,因此马上网上百度谷歌一下,首先找到了添加附件的几种方法:

    1. AddAttachment(FileName, isInline, ContentType) : String为邮件添加一个文件型的附件。如果Inline 属性被设置为true,这个附件就是一个可嵌入的附件,使用addAttachment()方法可返回content id,这在发送HTML 邮件时是非常有用的。例:jmail.AddAttachment("c:\autoexec.bat") jmail.AddAttachment("myImage.gif",TRUE) &&可嵌入的附件
    2.AddURLAttachment(bstrURL, bstrAttachAs, isInline, bstrAuth) : String从指定的URL 下载文件并添加为附件。第二个参数“AttachAs”用来更改添加为附件的文件的文件名,如果Inline 属性被设置为true,这个附件就是一个可嵌入的附件,使用ddAttachment()方法可返回content id,这在发送HTML 邮件时是非常有用的。最后一个参数为可选项,是当服务器需要身份验证时使用的。例 jmail.AddURLAttachment("http://download.dimac.net/jmail/w3jmail4.exe","w3jmail4.exe")jmail.AddURLAttachment"http://download.dimac.net/jmail/w3jmail4.exe", "w3jmail4.exe",false, "myUserName:myPassword")jmail.AddURLAttachment"http://images.dimac.net/dimaclogo.gif","dimaclogo.gif",true )

    测了一下,好像跟两个方法没什么关系。后来在网上有人说把Message.ContentType ="text/html"设置去掉(就是不要去设置ContentType属性),试了一下,还真发送成功了。唉,算不算Jmail的一个Bug了?

    好了,现在总结一下:要发送附件时,不能设置ContentType属性(ContentType的默认值是text/plain),这时如果要发送HTML格式的邮件可以通过设置HTMLBody属性。

    希望这个对大家有用。

  • 相关阅读:
    自然数e为底数的指数函数的一个小运用
    Windows产品测试集合整理
    随手写的 IniFiles
    Windows C++ TLS 实现连接163邮箱
    Windows创建个人证书(C++实现,使用 as administrator)
    单进程单线程IOCP的实现(含客户端和服务端)
    32/64位下面的基本数据类型的大小
    WMI 获取操作系统名称和版本
    http 基本代理 C++实现(极简)
    获取内存大小、CPU大小、硬盘大小及使用率
  • 原文地址:https://www.cnblogs.com/icewindq/p/1596886.html
Copyright © 2011-2022 走看看