List of usage examples for org.apache.commons.mail MultiPartEmail addReplyTo
public Email addReplyTo(final String email, final String name) throws EmailException
From source file:annis.gui.ReportBugWindow.java
private boolean sendBugReport(String bugEMailAddress, byte[] screenImage, String imageMimeType) { MultiPartEmail mail = new MultiPartEmail(); try {/*from www . j a va2 s. c o m*/ // server setup mail.setHostName("localhost"); // content of the mail mail.addReplyTo(form.getField("email").getValue().toString(), form.getField("name").getValue().toString()); mail.setFrom(bugEMailAddress); mail.addTo(bugEMailAddress); mail.setSubject("[ANNIS BUG] " + form.getField("summary").getValue().toString()); // TODO: add info about version etc. StringBuilder sbMsg = new StringBuilder(); sbMsg.append("Reporter: ").append(form.getField("name").getValue().toString()).append(" (") .append(form.getField("email").getValue().toString()).append(")\n"); sbMsg.append("Version: ").append(VaadinSession.getCurrent().getAttribute("annis-version")).append("\n"); sbMsg.append("URL: ").append(UI.getCurrent().getPage().getLocation().toASCIIString()).append("\n"); sbMsg.append("\n"); sbMsg.append(form.getField("description").getValue().toString()); mail.setMsg(sbMsg.toString()); if (screenImage != null) { try { mail.attach(new ByteArrayDataSource(screenImage, imageMimeType), "screendump.png", "Screenshot of the browser content at time of bug report"); } catch (IOException ex) { log.error(null, ex); } File logfile = new File(VaadinService.getCurrent().getBaseDirectory(), "/WEB-INF/log/annis-gui.log"); if (logfile.exists() && logfile.isFile() && logfile.canRead()) { mail.attach(new FileDataSource(logfile), "annis-gui.log", "Logfile of the GUI (shared by all users)"); } } mail.send(); return true; } catch (EmailException ex) { Notification.show("E-Mail not configured on server", "If this is no Kickstarter version please ask the adminstrator of this ANNIS-instance for assistance. " + "Bug reports are not available for ANNIS Kickstarter", Notification.Type.ERROR_MESSAGE); log.error(null, ex); return false; } }
From source file:com.duroty.application.files.manager.StoreManager.java
/** * DOCUMENT ME!/* ww w .jav a2s .c om*/ * * @param hsession DOCUMENT ME! * @param session DOCUMENT ME! * @param repositoryName DOCUMENT ME! * @param identity DOCUMENT ME! * @param to DOCUMENT ME! * @param cc DOCUMENT ME! * @param bcc DOCUMENT ME! * @param subject DOCUMENT ME! * @param body DOCUMENT ME! * @param attachments DOCUMENT ME! * @param isHtml DOCUMENT ME! * @param charset DOCUMENT ME! * @param headers DOCUMENT ME! * @param priority DOCUMENT ME! * * @throws MailException DOCUMENT ME! */ public void send(org.hibernate.Session hsession, Session session, String repositoryName, Vector files, int label, String charset) throws FilesException { ByteArrayInputStream bais = null; FileOutputStream fos = null; try { if ((files == null) || (files.size() <= 0)) { return; } if (charset == null) { charset = MimeUtility.javaCharset(Charset.defaultCharset().displayName()); } Users user = getUser(hsession, repositoryName); Identity identity = getDefaultIdentity(hsession, user); InternetAddress _returnPath = new InternetAddress(identity.getIdeEmail(), identity.getIdeName()); InternetAddress _from = new InternetAddress(identity.getIdeEmail(), identity.getIdeName()); InternetAddress _replyTo = new InternetAddress(identity.getIdeReplyTo(), identity.getIdeName()); InternetAddress _to = new InternetAddress(identity.getIdeEmail(), identity.getIdeName()); for (int i = 0; i < files.size(); i++) { MultiPartEmail email = email = new MultiPartEmail(); email.setCharset(charset); if (_from != null) { email.setFrom(_from.getAddress(), _from.getPersonal()); } if (_returnPath != null) { email.addHeader("Return-Path", _returnPath.getAddress()); email.addHeader("Errors-To", _returnPath.getAddress()); email.addHeader("X-Errors-To", _returnPath.getAddress()); } if (_replyTo != null) { email.addReplyTo(_replyTo.getAddress(), _replyTo.getPersonal()); } if (_to != null) { email.addTo(_to.getAddress(), _to.getPersonal()); } MailPartObj obj = (MailPartObj) files.get(i); email.setSubject("Files-System " + obj.getName()); Date now = new Date(); email.setSentDate(now); File dir = new File(System.getProperty("user.home") + File.separator + "tmp"); if (!dir.exists()) { dir.mkdir(); } File file = new File(dir, obj.getName()); bais = new ByteArrayInputStream(obj.getAttachent()); fos = new FileOutputStream(file); IOUtils.copy(bais, fos); IOUtils.closeQuietly(bais); IOUtils.closeQuietly(fos); EmailAttachment attachment = new EmailAttachment(); attachment.setPath(file.getPath()); attachment.setDisposition(EmailAttachment.ATTACHMENT); attachment.setDescription("File Attachment: " + file.getName()); attachment.setName(file.getName()); email.attach(attachment); String mid = getId(); email.addHeader(RFC2822Headers.IN_REPLY_TO, "<" + mid + ".JavaMail.duroty@duroty" + ">"); email.addHeader(RFC2822Headers.REFERENCES, "<" + mid + ".JavaMail.duroty@duroty" + ">"); email.addHeader("X-DBox", "FILES"); email.addHeader("X-DRecent", "false"); //email.setMsg(body); email.setMailSession(session); email.buildMimeMessage(); MimeMessage mime = email.getMimeMessage(); int size = MessageUtilities.getMessageSize(mime); if (!controlQuota(hsession, user, size)) { throw new MailException("ErrorMessages.mail.quota.exceded"); } messageable.storeMessage(mid, mime, user); } } catch (FilesException e) { throw e; } catch (Exception e) { throw new FilesException(e); } catch (java.lang.OutOfMemoryError ex) { System.gc(); throw new FilesException(ex); } catch (Throwable e) { throw new FilesException(e); } finally { GeneralOperations.closeHibernateSession(hsession); IOUtils.closeQuietly(bais); IOUtils.closeQuietly(fos); } }
From source file:ninja.postoffice.commonsmail.CommonsmailHelperImpl.java
@Override public void doPopulateMultipartMailWithContent(MultiPartEmail multiPartEmail, Mail mail) throws AddressException, EmailException { String charset = "utf-8"; if (mail.getCharset() != null) { charset = mail.getCharset();//from w w w . j a v a2s. c o m } multiPartEmail.setCharset(charset); String subject = ""; if (mail.getSubject() != null) { subject = mail.getSubject(); } multiPartEmail.setSubject(subject); if (mail.getFrom() != null) { Tuple<String, String> from = createValidEmailFromString(mail.getFrom()); if (from.y != null) { multiPartEmail.setFrom(from.x, from.y); } else { multiPartEmail.setFrom(from.x); } } if (mail.getTos() != null) { if (!mail.getTos().isEmpty()) { List<Tuple<String, String>> emails = createListOfAddresses(mail.getTos()); for (Tuple<String, String> email : emails) { if (email.y != null) { multiPartEmail.addTo(email.x, email.y); } else { multiPartEmail.addTo(email.x); } } } } if (mail.getReplyTo() != null) { if (!mail.getReplyTo().isEmpty()) { List<Tuple<String, String>> emails = createListOfAddresses(mail.getReplyTo()); for (Tuple<String, String> email : emails) { multiPartEmail.addReplyTo(email.x, email.y); } } } if (mail.getCcs() != null) { if (!mail.getCcs().isEmpty()) { List<Tuple<String, String>> emails = createListOfAddresses(mail.getCcs()); for (Tuple<String, String> email : emails) { multiPartEmail.addCc(email.x, email.y); } } } if (mail.getBccs() != null) { if (!mail.getBccs().isEmpty()) { List<Tuple<String, String>> emails = createListOfAddresses(mail.getBccs()); for (Tuple<String, String> email : emails) { multiPartEmail.addBcc(email.x, email.y); } } } if (mail.getHeaders() != null) { multiPartEmail.setHeaders(mail.getHeaders()); } }