我正在使用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
答案 0 :(得分:6)
您可以将addAttachment()
与DataSource
或InputStreamSource
一起使用。两个接口都提供字节数组实现(例如ByteArrayDataSource
或ByteArrayResource
)。
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());