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重置,导致问题出现。
请问怎么同时添加附件的同时,填写邮件正文,使两个操作互补影响?请直接上代码~
------解决方案--------------------