Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public <T> T prepareMessage(String subject, String sendTo, String htmlContent) throws MessagingException {
- Configuration config = getConfig();
- final String userName = config.getServiceMailAddress();
- final String password = config.getServiceMailPassword();
- final String personalName = config.getServiceMailPersonalName();
- final Properties mailProperties = config.getMailPropertiesValue();
- Session session = Session.getInstance(mailProperties, new javax.mail.Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(userName, password);
- }
- });
- try {
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress(userName, personalName));
- message.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(sendTo));
- message.setSubject(subject);
- return (T) message;
- } catch (UnsupportedEncodingException e) {
- //rethrow exception
- }
- }
- @Override
- public synchronized void emailImages(String sendTo, String subject, String htmlContent, byte[][] images, ArrayList<String> imagesCid)
- {
- try {
- Message message = prepareMessage(subject, sendTo, htmlContent);
- Multipart multipart = new MimeMultipart("related");
- MimeBodyPart mailBody = new MimeBodyPart();
- mailBody.setContent(htmlContent, "text/html; charset=utf-8");
- mailBody.setHeader("Content-ID", "<file>");
- multipart.addBodyPart(mailBody);
- if (images != null && images.length > 0) {
- for (int i = 0; i < images.length; i++) {
- String cid = imagesCid.get(i);
- MimeBodyPart messageBodyPart = new MimeBodyPart();
- messageBodyPart.setContent(images[i], "image/png");
- messageBodyPart.setFileName(cid);
- messageBodyPart.setHeader("Content-ID", "<" + cid + ">");
- messageBodyPart.setHeader("X-Attachment-Id", cid);
- messageBodyPart.setHeader("Content-Disposition", "inline; filename=" + cid + ".png");
- multipart.addBodyPart(messageBodyPart);
- }
- message.setHeader("Content-Disposition", "inline; filename=file.html");
- }
- message.setContent(multipart);
- Transport.send(message);
- } catch (Throwable e) {
- //Rethrow exception
- }
- }
- java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
- at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1244)
- at javax.mail.Transport.send0(Transport.java:254)
- at javax.mail.Transport.send(Transport.java:124)
- at com.company.util.mail.SMTPSender.emailImages(SMTPSender.java:101)
- ... 8 more
- Caused by: java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
- at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:105)
- at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:889)
- at javax.activation.DataHandler.writeTo(DataHandler.java:317)
- at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1608)
- at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1849)
- at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1196)
- ... 11 more
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement