Если вы используете JavaMail API Spring , вы можете сделать это довольно легко (или, по крайней мере, настолько легко, насколько позволяет API JavaMail, что немного). Таким образом, вы могли бы написать что-то вроде этого:
JavaMailSenderImpl mailSender = ... instantiate and configure JavaMailSenderImpl here
final byte[] data = .... this holds my PDF data
mailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// set from, to, subject using helper
helper.addAttachment("my.pdf", new ByteArrayResource(data));
}
});
Данные вложения могут быть любой из абстракций ресурса Spring, ByteArrayResource
является лишь одним из них.
Обратите внимание, что эта часть Spring API стоит сама по себе, она не требует (но получает выгоду от) контейнера Spring.