Spring电子邮件添加附件

时间:2014-05-08 06:37:39

标签: java spring file email

我正在使用Spring 3.2,并希望发送附带附件的电子邮件。我有一个字节数组 - 如何将其设置为附件? 我这样做:

bytes[] doc = docDao.findNextDoc().getBytes();
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
    helper.addAttachment("doc", ???); // how can I set bytes here?
}
.... 
// other things

2 个答案:

答案 0 :(得分:6)

您可以将addAttachment()DataSourceInputStreamSource一起使用。两个接口都提供字节数组实现(例如ByteArrayDataSourceByteArrayResource)。

helper.addAttachment("doc", new ByteArrayResource(doc));

您也可能会重新考虑使用该字节数组来污染您的内存。您的DAO可能支持流,addAttachment()也是如此。

答案 1 :(得分:1)

您有 ByteArrayResource

import org.springframework.core.io.ByteArrayResource;
....
helper.addAttachment("doc", new ByteArrayResource(docDao.findNextDoc().getBytes());