EmailNotificationHeader header = headers.get(lang); Message msg = new MimeMessage(mailSession); Set<String> toAddresses = new HashSet<String>(); for (User user : entry.getValue()) { if (emailAddress != null) { if (toAddresses.add(emailAddress)) { msg.addRecipients( Message.RecipientType.TO, InternetAddress.parse( emailAddress, false)); Multipart multipart = new MimeMultipart(); MimeBodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setDataHandler( new DataHandler( new ByteArrayDataSource( body, "text/html" ) ) ); multipart.addBodyPart(messageBodyPart); MimeBodyPart attachementBodyPart = new MimeBodyPart(); URL attachmentUrl = getAttachemntURL(attachment); String contentType = MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(attachmentUrl.getFile()); attachementBodyPart.setDataHandler(new DataHandler(new ByteArrayDataSource( attachmentUrl.openStream(), contentType ) )); String fileName = new File(attachmentUrl.getFile()).getName(); attachementBodyPart.setFileName(fileName); msg.setDataHandler( new DataHandler( new ByteArrayDataSource( body, "text/html" ) ) );
@Override public void sendHtmlWithAttachment(String to, String subj, String body, QrHolder[] attachments) throws Exception { MimeMessage message = new MimeMessage(session); message.setFrom(from); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject(subj, "UTF-8"); Multipart multipart = new MimeMultipart(); MimeBodyPart bodyMessagePart = new MimeBodyPart(); bodyMessagePart.setContent(body, TEXT_HTML_CHARSET_UTF_8); multipart.addBodyPart(bodyMessagePart); for (QrHolder qrHolder : attachments) { MimeBodyPart attachmentsPart = new MimeBodyPart(); attachmentsPart.setDataHandler(new DataHandler(new ByteArrayDataSource(qrHolder.data, "image/jpeg"))); attachmentsPart.setFileName(qrHolder.makeQRFilename()); multipart.addBodyPart(attachmentsPart); } message.setContent(multipart); try (Transport transport = session.getTransport()) { transport.connect(host, username, password); transport.sendMessage(message, message.getAllRecipients()); } log.debug("Mail sent to {}. Subj: {}", to, subj); log.trace("Mail body: {}", body); }
msg = new MimeMessage( session, attachment ); final MimeMultipart oldMultipart = (MimeMultipart) msg.getContent(); final MimeMultipart newMultipart = new MimeMultipart( "related" ); for ( int i = 0; i < oldMultipart.getCount(); i++ ) { BodyPart bodyPart = oldMultipart.getBodyPart( i ); final MimeBodyPart part = new MimeBodyPart(); part.setText( newContent, "UTF-8", "html" ); newMultipart.addBodyPart( part ); } else { msg.setContent( newMultipart ); ByteArrayDataSource dataSource = new ByteArrayDataSource( attachment, attachmentMimeType ); MimeBodyPart bodyMessagePart = new MimeBodyPart(); bodyMessagePart.setText( body, LocaleHelper.getSystemEncoding() ); multipart.addBodyPart( bodyMessagePart ); msg.setFrom( new InternetAddress( from, fromName ) ); } else { msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to, false ) ); msg.setRecipients( Message.RecipientType.CC, InternetAddress.parse( cc, false ) );
private void addAttachedContent( String filename, String fileContent ) throws Exception { // create a data source MimeBodyPart mbp = new MimeBodyPart(); // get a data Handler to manipulate this file type; mbp.setDataHandler( new DataHandler( new ByteArrayDataSource( fileContent.getBytes(), "application/x-any" ) ) ); // include the file in the data source mbp.setFileName( filename ); // add the part with the file in the BodyPart(); data.parts.addBodyPart( mbp ); }
MimeMessage msg = new MimeMessage(getSession()); msg.addFrom(_from); msg.addRecipients(RecipientType.TO, _to); if(subject != null) msg.setSubject(subject); MimeMultipart multipart = new MimeMultipart(); MimeBodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setText(textBody); multipart.addBodyPart(textBodyPart); = new ByteArrayDataSource(content, attachmentType); MimeBodyPart pdfBodyPart = new MimeBodyPart(); pdfBodyPart.setDataHandler(new DataHandler(dataSource)); pdfBodyPart.setFileName(attachmentName); multipart.addBodyPart(pdfBodyPart); msg.setContent(multipart);
InternetAddress sentFrom = new InternetAddress(FROM); mimeMessage.setFrom(sentFrom); for (int i = 0; i < getArrs(TO).length; i++) sendTo[i] = new InternetAddress(getArrs(TO)[i]); mimeMessage.setRecipients(javax.mail.Message.RecipientType.TO, sendTo); for (int i = 0; i < getArrs(CC).length; i++) copyTo[i] = new InternetAddress(getArrs(CC)[i]); mimeMessage.setRecipients(javax.mail.Message.RecipientType.CC, copyTo); mimeMessage.setSentDate(new Date()); MimeMultipart multipPartRoot = new MimeMultipart("mixed"); MimeMultipart multipPartContent = new MimeMultipart("alternative"); MimeBodyPart mimeBodyPart = new MimeBodyPart(); ByteArrayDataSource byteArrayDataSource = new ByteArrayDataSource(is, att.getMimeType()); mimeBodyPart.setDataHandler(new DataHandler(byteArrayDataSource)); mimeBodyPart.setDisposition(Part.ATTACHMENT);
bccRecipientAddresses = new ArrayList<InternetAddress>(); bccRecipientAddresses.add(new InternetAddress(emailRecipient.getAddress())); break; case CC: ccRecipientAddresses = new ArrayList<InternetAddress>(); ccRecipientAddresses.add(new InternetAddress(emailRecipient.getAddress())); break; case TO: throw new UnifyException(UnifyCoreErrorConstants.EMAIL_RECIPIENTS_REQUIRED); mimeMessage.addRecipients(Message.RecipientType.TO, recipientAddresses.toArray(new InternetAddress[recipientAddresses.size()])); Multipart multipart = new MimeMultipart(); MimeBodyPart messageBodyPart = new MimeBodyPart(); if (email.isHtmlMessage()) { messageBodyPart.setContent(email.getMessage(), "text/html"); } else { messageBodyPart.setText(email.getMessage()); new DataHandler(new ByteArrayDataSource(emailAttachment.getBlob(), contentType))); messageBodyPart.setDataHandler(new DataHandler(new FileDataSource(emailAttachment.getFile())));
@Test public void isMdnSentAutomaticallyShouldBeDetected() throws Exception { MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties())); MimeMultipart multipart = new MimeMultipart(); MimeBodyPart scriptPart = new MimeBodyPart(); scriptPart.setDataHandler( new DataHandler( new ByteArrayDataSource( "Disposition: MDN-sent-automatically", "message/disposition-notification;") )); scriptPart.setHeader("Content-Type", "message/disposition-notification"); multipart.addBodyPart(scriptPart); message.setContent(multipart); FakeMail fakeMail = FakeMail.builder() .sender("any@any.com") .mimeMessage(message) .build(); assertThat(new AutomaticallySentMailDetectorImpl().isMdnSentAutomatically(fakeMail)).isTrue(); }
final MimeMessage mimeMessage = new MimeMessage(session); mimeMessage.setHeader("X-Priority", "3 (Normal)"); mimeMessage.setFrom(new InternetAddress(username)); mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(token)); mimeMessage.setSubject(subjectPrefix + " " + subject); final MimeBodyPart bodypart = new MimeBodyPart(); bodypart.setText(htmlMessage, "UTF-8"); bodypart.setHeader("Content-Type", "text/html"); if (saveGame != null) { final Multipart multipart = new MimeMultipart(); multipart.addBodyPart(bodypart); final DataSource source = new ByteArrayDataSource(fin, "application/triplea"); final BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(saveGameName); multipart.addBodyPart(messageBodyPart);
Message msg = new MimeMessage(session); InternetAddress addressFrom = new InternetAddress(from); msg.setFrom(addressFrom); addressTo[i] = new InternetAddress(recipients[i]); MimeBodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setContent(message, "text/html; charset=UTF-8"); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); MimeBodyPart attachmentPart = new MimeBodyPart(); DataSource source; try { source = new ByteArrayDataSource(attachment.getData(), "application/octet-stream"); } catch (IOException e) { throw new RuntimeException(e); attachmentPart.setDataHandler(new DataHandler(source)); attachmentPart.setFileName(attachment.getFilename()); multipart.addBodyPart(attachmentPart);
public MimeMessage createSignedMimeMessageNew(MimeBodyPart mimeBodyPart, Digest digest, SMimeDigestMethod digestMethod) throws OxalisTransmissionException { try { MimeMultipart mimeMultipart = new MimeMultipart(); mimeMultipart.setSubType("signed"); mimeMultipart.addBodyPart(mimeBodyPart); MimeBodyPart signaturePart = new MimeBodyPart(); DataSource dataSource = new ByteArrayDataSource(SMimeBC.createSignature(digest.getValue(), digestMethod, privateKey, ourCertificate), "application/pkcs7-signature"); signaturePart.setDataHandler(new DataHandler(dataSource)); signaturePart.setHeader("Content-Type", "application/pkcs7-signature; name=smime.p7s; smime-type=signed-data"); signaturePart.setHeader("Content-Transfer-Encoding", "base64"); signaturePart.setHeader("Content-Disposition", "attachment; filename=\"smime.p7s\""); signaturePart.setHeader("Content-Description", "S/MIME Cryptographic Signature"); mimeMultipart.addBodyPart(signaturePart); MimeMessage mimeMessage = new MimeMessage(session); mimeMessage.setContent(mimeMultipart, mimeMultipart.getContentType()); mimeMessage.saveChanges(); return mimeMessage; } catch (MessagingException | OxalisSecurityException e) { throw new OxalisTransmissionException(e.getMessage(), e); } } }
final MimeMessage mimeMessage = toMimeMessage(email); try { final MimeMultipart content = new MimeMultipart("mixed"); final MimeBodyPart imagePart = new MimeBodyPart(); imagePart.attachFile(inlinePicture.getFile()); imagePart.setContentID('<' + cid + '>'); imagePart.setDisposition(MimeBodyPart.INLINE); imagePart.setHeader("Content-Type", inlinePicture.getImageType().getContentType()); content.addBodyPart(imagePart); final MimeBodyPart attachmentPart = new MimeBodyPart(); DataSource source = new ByteArrayDataSource(emailAttachment.getAttachmentData(), emailAttachment.getContentType().toString()); attachmentPart.setDataHandler(new DataHandler(source)); attachmentPart.setFileName(MimeUtility.encodeText(emailAttachment.getAttachmentName())); content.addBodyPart(attachmentPart); content.addBodyPart(textPart); mimeMessage.setContent(content); mimeMessage.saveChanges(); javaMailSender.send(mimeMessage); emailLogRenderer.info("Sent email {}.", emailWithCompiledBody(email, text));
private void setMessageContent(MimeMessage msg, Email email) throws MessagingException, IOException { if (email.attachments().size() == 0) { msg.setText(email.getBody()); } else { Multipart multipart = new MimeMultipart(); MimeBodyPart mainContent = new MimeBodyPart(); mainContent.setText(email.getBody()); multipart.addBodyPart(mainContent); for (EmailAttachment attachment : email.attachments()) { MimeBodyPart attachmentPart = new MimeBodyPart(); DataSource attachmentSource = new ByteArrayDataSource(attachment.getData(), attachment.getType()); attachmentPart.setDataHandler(new DataHandler(attachmentSource));; attachmentPart.setFileName(attachment.getFilename()); multipart.addBodyPart(attachmentPart); } msg.setContent(multipart); } } }
@Transformer public Object transform(@Header(MailHeaders.FROM) String fromEmail, @Header(MailHeaders.TO) String toEmail, @Header(MailHeaders.SUBJECT) String subject, @Payload String payload) throws Exception { MimeMessage mimeMessage = mailSender.createMimeMessage(); mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail)); mimeMessage.setFrom(new InternetAddress(fromEmail)); mimeMessage.setSubject(MimeUtility.encodeText(subject, "UTF-8", "Q")); List<String> imageList = getContentImages(payload); if (!imageList.isEmpty()) { MimeMultipart multipart = new MimeMultipart("related"); BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setContent(payload, "text/html; charset=utf-8"); multipart.addBodyPart(messageBodyPart); for (String imageId : imageList) { messageBodyPart = new MimeBodyPart(); DataSource fds = new ByteArrayDataSource(getImage(imageId), "image/png"); messageBodyPart.setDataHandler(new DataHandler(fds)); messageBodyPart.setHeader("Content-ID", "<" + imageId + ">"); messageBodyPart.setDisposition(MimeBodyPart.INLINE); multipart.addBodyPart(messageBodyPart); } mimeMessage.setContent(multipart); } else { mimeMessage.setContent(payload, "text/html; charset=utf-8"); } return mimeMessage; }
@SuppressWarnings("unchecked") private void writeMultipartMessage(Message message, OutputStream out, byte[] data) throws MessagingException, IOException { MimeMultipart parts = new MimeMultipart("related; type=\"text/xml\"; start=\"<" + SOAP_PART_ID + ">\""); Session session = Session.getDefaultInstance(new Properties(), null); MimeMessage mime = new MimeMessage(session); MimeBodyPart soapPart = new MimeBodyPart(); soapPart.setContentID("<" + SOAP_PART_ID + ">"); soapPart.addHeader("Content-Transfer-Encoding", "8bit"); soapPart.setDataHandler(new DataHandler(new ByteArrayDataSource(data, "text/xml"))); parts.addBodyPart(soapPart); part.setContentID("<" + id + ">"); part.addHeader("Content-Transfer-Encoding", "binary"); parts.addBodyPart(part); mime.setContent(parts); mime.setHeader(Message.CONTENT_TYPE, parts.getContentType());
public synchronized void sendMail(String subject, String body, String sender, String recipients, File attachment) throws Exception { MimeMessage message = new MimeMessage(session); DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain")); message.setSender(new InternetAddress(sender)); message.setSubject(subject); message.setDataHandler(handler); if(attachment!=null){ MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText(body); MimeBodyPart mbp2 = new MimeBodyPart(); FileDataSource fds = new FileDataSource(attachment); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); message.setContent(mp); } if (recipients.indexOf(',') > 0) message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients)); else message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); Transport.send(message); }
DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain")); message.setSender(new InternetAddress(user)); message.setSubject(subject); message.setDataHandler(handler); if (recipients.indexOf(',') > 0) message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients)); else message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients)); smtpTransport.sendMessage(message, message.getAllRecipients());
builder.attachment(attachment.getName(), new ByteArrayDataSource((byte[]) data, attachment.getType())); builder.attachment(attachment.getName(), new ByteArrayDataSource(((String) data).getBytes(), attachment.getType())); Session session = Session.getInstance(props); MimeMessage msg = new MimeMessage(session); msg.setContent(SupportRequestMailQueueItem.toMultiPart(requestInfo)); msg.setFrom(new InternetAddress(requestInfo.getFromAddress())); msg.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(requestInfo.getToAddress(), false)); msg.setSubject(requestInfo.getSubject());
final Message message = new MimeMessage(mailSession); final ComponentLog logger = getLogger(); mimeText.setDataHandler(new DataHandler(new ByteArrayDataSource( Base64.encodeBase64(messageText.getBytes("UTF-8")), contentType + "; charset=\"utf-8\""))); final MimeBodyPart mimeFile = new MimeBodyPart(); session.read(flowFile, new InputStreamCallback() { @Override public void process(final InputStream stream) throws IOException { try { mimeFile.setDataHandler(new DataHandler(new ByteArrayDataSource(stream, "application/octet-stream"))); } catch (final Exception e) { throw new IOException(e); mimeFile.setFileName(flowFile.getAttribute(CoreAttributes.FILENAME.key())); MimeMultipart multipart = new MimeMultipart(); multipart.addBodyPart(mimeText); multipart.addBodyPart(mimeFile); message.setContent(multipart);
store.connect(host, address, pass); DataHandler handler = new DataHandler(new ByteArrayDataSource(finalString.getBytes(), "text/plain")); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setDataHandler(handler); Log.i("Check", "done sessions"); multiPart = new MimeMultipart(); InternetAddress toAddress; toAddress = new InternetAddress(to); message.addRecipient(Message.RecipientType.TO, toAddress); Log.i("Check", "added recipient"); message.setSubject("Send Auto-Mail");