@Override public void send(SimpleMailMessage... simpleMessages) throws MailException { List<MimeMessage> mimeMessages = new ArrayList<>(simpleMessages.length); for (SimpleMailMessage simpleMessage : simpleMessages) { MimeMailMessage message = new MimeMailMessage(createMimeMessage()); simpleMessage.copyTo(message); mimeMessages.add(message.getMimeMessage()); } doSend(mimeMessages.toArray(new MimeMessage[0]), simpleMessages); }
/** * @param items the items to send * @see ItemWriter#write(List) */ @Override public void write(List<? extends MimeMessage> items) throws MailException { try { mailSender.send(items.toArray(new MimeMessage[items.size()])); } catch (MailSendException e) { Map<Object, Exception> failedMessages = e.getFailedMessages(); for (Entry<Object, Exception> entry : failedMessages.entrySet()) { mailErrorHandler.handle(new MimeMailMessage((MimeMessage)entry.getKey()), entry.getValue()); } } }
@Override public void send(SimpleMailMessage... simpleMessages) throws MailException { List<MimeMessage> mimeMessages = new ArrayList<>(simpleMessages.length); for (SimpleMailMessage simpleMessage : simpleMessages) { MimeMailMessage message = new MimeMailMessage(createMimeMessage()); simpleMessage.copyTo(message); mimeMessages.add(message.getMimeMessage()); } doSend(mimeMessages.toArray(new MimeMessage[0]), simpleMessages); }
private MailMessage createMailMessageWithContentType(Message<String> message, String contentType) { Assert.state(this.mailSender instanceof JavaMailSender, "this adapter requires a 'JavaMailSender' to send a 'MimeMailMessage'"); MimeMessage mimeMessage = ((JavaMailSender) this.mailSender).createMimeMessage(); try { mimeMessage.setContent(message.getPayload(), contentType); return new MimeMailMessage(mimeMessage); } catch (Exception e) { throw new org.springframework.messaging.MessagingException("Failed to create MimeMessage with contentType: " + contentType, e); } }
Object payload = message.getPayload(); if (payload instanceof MimeMessage) { mailMessage = new MimeMailMessage((MimeMessage) payload);
private MailMessage createMailMessageFromByteArrayMessage(Message<byte[]> message) { Assert.state(this.mailSender instanceof JavaMailSender, "this adapter requires a 'JavaMailSender' to send a 'MimeMailMessage'"); String attachmentFileName = message.getHeaders().get(MailHeaders.ATTACHMENT_FILENAME, String.class); if (attachmentFileName == null) { throw new MessageMappingException(message, "Header '" + MailHeaders.ATTACHMENT_FILENAME + "' is required when mapping a Message with a byte array payload to a MailMessage."); } Integer multipartMode = message.getHeaders().get(MailHeaders.MULTIPART_MODE, Integer.class); if (multipartMode == null) { multipartMode = MimeMessageHelper.MULTIPART_MODE_MIXED; } MimeMessage mimeMessage = ((JavaMailSender) this.mailSender).createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, multipartMode); helper.addAttachment(attachmentFileName, new ByteArrayResource(message.getPayload())); return new MimeMailMessage(helper); } catch (MessagingException e) { throw new MessageMappingException(message, "failed to create MimeMessage", e); } }
org.springframework.mail.javamail.MimeMailMessage message message = new MimeMailMessage(new SmartMimeMessage(getSession(), getDefaultEncoding(), getDefaultFileTypeMap())); yourSimpleMessage.copyTo(message); javax.mail.internet.MimeMessage result = message.getMimeMessage()); result.writeTo(yourOutputStream);
private MailMessage createMailMessageWithContentType(Message<String> message, String contentType) { Assert.state(this.mailSender instanceof JavaMailSender, "this adapter requires a 'JavaMailSender' to send a 'MimeMailMessage'"); MimeMessage mimeMessage = ((JavaMailSender) this.mailSender).createMimeMessage(); try { mimeMessage.setContent(message.getPayload(), contentType); return new MimeMailMessage(mimeMessage); } catch (Exception e) { throw new org.springframework.messaging.MessagingException("Failed to create MimeMessage with contentType: " + contentType, e); } }
/** * @param items the items to send * @see ItemWriter#write(List) */ @Override public void write(List<? extends MimeMessage> items) throws MailException { try { mailSender.send(items.toArray(new MimeMessage[items.size()])); } catch (MailSendException e) { Map<Object, Exception> failedMessages = e.getFailedMessages(); for (Entry<Object, Exception> entry : failedMessages.entrySet()) { mailErrorHandler.handle(new MimeMailMessage((MimeMessage)entry.getKey()), entry.getValue()); } } }
public void prepare(MimeMessage mimeMessage) throws Exception { simpleMailMessage.copyTo(new MimeMailMessage(mimeMessage)); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,mimeMessage.getEncoding()); helper.setText(simpleMailMessage.getText(),true); if(StringUtils.isNotEmpty(fromPersonal)) { mimeMessage.setFrom(new InternetAddress(simpleMailMessage.getFrom(),fromPersonal)); } } }
Object payload = message.getPayload(); if (payload instanceof MimeMessage) { mailMessage = new MimeMailMessage((MimeMessage) payload);
private MailMessage createMailMessageFromByteArrayMessage(Message<byte[]> message) { Assert.state(this.mailSender instanceof JavaMailSender, "this adapter requires a 'JavaMailSender' to send a 'MimeMailMessage'"); String attachmentFileName = message.getHeaders().get(MailHeaders.ATTACHMENT_FILENAME, String.class); if (attachmentFileName == null) { throw new MessageMappingException(message, "Header '" + MailHeaders.ATTACHMENT_FILENAME + "' is required when mapping a Message with a byte array payload to a MailMessage."); } Integer multipartMode = message.getHeaders().get(MailHeaders.MULTIPART_MODE, Integer.class); if (multipartMode == null) { multipartMode = MimeMessageHelper.MULTIPART_MODE_MIXED; } MimeMessage mimeMessage = ((JavaMailSender) this.mailSender).createMimeMessage(); try { MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, multipartMode); helper.addAttachment(attachmentFileName, new ByteArrayResource(message.getPayload())); return new MimeMailMessage(helper); } catch (MessagingException e) { throw new MessageMappingException(message, "failed to create MimeMessage", e); } }
private void sendConfirmationEmail(User user, String baseUrl) { Thread thread = new Thread(() -> { try { final Token token = new Token(); final StringBuilder builder = new StringBuilder(); final String address = "ermdev.io@gmail.com"; final String recipientAddress = user.getEmail(); final String title = "Cloth Shop"; final String subject = "Account Details for " + user.getName() + " at " + title; token.setKey(String.valueOf(IdGenerator.randomUUID())); token.setExpiryDate(new DateHelper().setTimeNow().addTimeInMinute(DateHelper.DAY_IN_MINUTE).getDate()); tokenRepository.save(token); builder.append(baseUrl); builder.append("register/activate"); builder.append("?uid="); builder.append(user.getId()); builder.append("&tid="); builder.append(token.getKey()); MimeMailMessage mailMessage = new MimeMailMessage(mailSender.createMimeMessage()); mailMessage.setTo(recipientAddress); mailMessage.setSubject(subject); mailMessage.getMimeMessage().setFrom(new InternetAddress(address, title)); mailMessage.getMimeMessage().setContent(builder.toString(), "text/html"); mailSender.send(mailMessage.getMimeMessage()); } catch (Exception e) { e.printStackTrace(); } }); thread.start(); }
List<MimeMessage> mimeMessages = new ArrayList<MimeMessage>(simpleMessages.length); for (SimpleMailMessage simpleMessage : simpleMessages) { MimeMailMessage message = new MimeMailMessage(createMimeMessage()); simpleMessage.copyTo(message); mimeMessages.add(message.getMimeMessage());