首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java mail时,设置邮件附件和邮件正文冲突,该怎么解决

2012-01-30 
java mail时,设置邮件附件和邮件正文冲突Java codeMimeBodyPart bodyPart new MimeBodyPart();if (sMail

java mail时,设置邮件附件和邮件正文冲突

Java code
MimeBodyPart bodyPart = new MimeBodyPart();if (sMailBody != null) {    bodyPart.setContent(sMailBody.toString(),        "text/html;charset=utf-8");                    }if (null != sAttachPath) {    File file = new File(sAttachPath);    FileDataSource fds = new FileDataSource(file);    bodyPart.setDataHandler(new DataHandler(fds));    bodyPart.setFileName(fds.getName());    mp.addBodyPart(bodyPart);}


当执行到bodyPart.setContent时,成功将正文设置成输入的内容,但是执行bodyPart.setDataHandler后,之前设置的正文变成null,同时添加附件成功。

debug之后发现:两个操作都会设置MimeBodyPart DataHandler属性,导致两个操作冲突。也就是说:正文和附件都被存储在DataHandler的属性中,于是后面的操作会将前面操作设置的DataHandler重置,导致问题出现。

请问怎么同时添加附件的同时,填写邮件正文,使两个操作互补影响?请直接上代码~

[解决办法]
引用
你的代码问题出在 邮件正文和附件都用了一个对象。。
MimeBodyPart bodyPart = new MimeBodyPart();

所以会被覆盖掉。。。

重新为附件new一个对象一起添加到Multipart就行了

热点排行