List of usage examples for javax.mail Session getInstance
public static Session getInstance(Properties props, Authenticator authenticator)
From source file:de.kp.ames.web.function.access.imap.ImapConsumer.java
/** * @param host//www . ja va2 s .c o m * @param port * @param alias * @param keypass * @return */ private Session createSession(String host, String port, final String alias, final String keypass) { Properties props = setProperties(host, port); /* * Authenticator & Session */ Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(alias, keypass); } }); return session; }
From source file:org.pentaho.platform.repository.subscription.SubscriptionEmailContent.java
public boolean send() { String cc = null;//from ww w . j av a 2s . c om String bcc = null; String from = props.getProperty("mail.from.default"); String to = props.getProperty("to"); boolean authenticate = "true".equalsIgnoreCase(props.getProperty("mail.smtp.auth")); String subject = props.getProperty("subject"); String body = props.getProperty("body"); logger.info("Going to send an email to " + to + " from " + from + "with the subject '" + subject + "' and the body " + body); try { // Get a Session object Session session; if (authenticate) { Authenticator authenticator = new EmailAuthenticator(); session = Session.getInstance(props, authenticator); } else { session = Session.getInstance(props); } // if debugging is not set in the email config file, then default to false if (!props.containsKey("mail.debug")) { //$NON-NLS-1$ session.setDebug(false); } // construct the message MimeMessage msg = new MimeMessage(session); Multipart multipart = new MimeMultipart(); if (from != null) { msg.setFrom(new InternetAddress(from)); } else { // There should be no way to get here logger.error("Email.ERROR_0012_FROM_NOT_DEFINED"); //$NON-NLS-1$ } if ((to != null) && (to.trim().length() > 0)) { msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false)); } if ((cc != null) && (cc.trim().length() > 0)) { msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc, false)); } if ((bcc != null) && (bcc.trim().length() > 0)) { msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(bcc, false)); } if (subject != null) { msg.setSubject(subject, LocaleHelper.getSystemEncoding()); } if (body != null) { MimeBodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setContent(body, "text/plain; charset=" + LocaleHelper.getSystemEncoding()); //$NON-NLS-1$ multipart.addBodyPart(textBodyPart); } // need to create a multi-part message... // create the Multipart and add its parts to it // create and fill the first message part IPentahoStreamSource source = attachment; if (source == null) { logger.error("Email.ERROR_0015_ATTACHMENT_FAILED"); //$NON-NLS-1$ return false; } DataSource dataSource = new ActivationHelper.PentahoStreamSourceWrapper(source); // create the second message part MimeBodyPart attachmentBodyPart = new MimeBodyPart(); // attach the file to the message attachmentBodyPart.setDataHandler(new DataHandler(dataSource)); attachmentBodyPart.setFileName(attachmentName); multipart.addBodyPart(attachmentBodyPart); // add the Multipart to the message msg.setContent(multipart); msg.setHeader("X-Mailer", SubscriptionEmailContent.MAILER); //$NON-NLS-1$ msg.setSentDate(new Date()); Transport.send(msg); return true; // TODO: persist the content set for a while... } catch (SendFailedException e) { logger.error("Email.ERROR_0011_SEND_FAILED -" + to, e); //$NON-NLS-1$ } catch (AuthenticationFailedException e) { logger.error("Email.ERROR_0014_AUTHENTICATION_FAILED - " + to, e); //$NON-NLS-1$ } catch (Throwable e) { logger.error("Email.ERROR_0011_SEND_FAILED - " + to, e); //$NON-NLS-1$ } return false; }
From source file:gov.nih.nci.cacis.cdw.CDWPendingLoader.java
public void loadPendingCDWDocuments(CDWLoader loader) { LOG.debug("Pending folder: " + cdwLoadPendingDirectory); LOG.info("SSSSSSS STARTED CDW LOAD SSSSSSSS"); File pendingFolder = new File(cdwLoadPendingDirectory); FilenameFilter loadFileFilter = new FilenameFilter() { public boolean accept(File dir, String name) { return true; }//from w w w .ja v a2 s .c o m }; String[] loadFileNames = pendingFolder.list(loadFileFilter); LOG.info("Total Files to Load: " + loadFileNames.length); int filesLoaded = 0; int fileNumber = 0; for (String fileName : loadFileNames) { fileNumber++; LOG.info("Processing File [" + fileNumber + "] " + fileName); File loadFile = new File(cdwLoadPendingDirectory + "/" + fileName); try { final String[] params = StringUtils.split(fileName, "@@"); String siteId = params[0]; String studyId = params[1]; String patientId = params[2]; LOG.debug("SiteId: " + siteId); // the below code is not working, so parsing the file name for attributes. // DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); // DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); // Document document = documentBuilder.parse(loadFile); // XPathFactory factory = XPathFactory.newInstance(); // XPath xPath = factory.newXPath(); // String siteID = xPath.evaluate("/caCISRequest/clinicalMetaData/@siteIdRoot", document); loader.load(FileUtils.getStringFromFile(loadFile), loader.generateContext(), studyId, siteId, patientId); LOG.info(String.format("Successfully processed file [%s] [%s] and moving into [%s]", fileNumber, loadFile.getAbsolutePath(), cdwLoadProcessedDirectory)); org.apache.commons.io.FileUtils.moveFileToDirectory(loadFile, new File(cdwLoadProcessedDirectory), true); filesLoaded++; } catch (Exception e) { LOG.error(e.getMessage()); e.printStackTrace(); try { Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", cdwLoadSenderHost); props.put("mail.smtp.port", cdwLoadSenderPort); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(cdwLoadSenderUser, cdwLoadSenderPassword); } }); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(cdwLoadSenderAddress)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(cdwLoadRecipientAddress)); message.setSubject(cdwLoadNotificationSubject); message.setText(cdwLoadNotificationMessage + " [" + e.getMessage() + "]"); Transport.send(message); org.apache.commons.io.FileUtils.moveFileToDirectory(loadFile, new File(cdwLoadErrorDirectory), true); // TODO add logic to send email } catch (Exception e1) { LOG.error(e1.getMessage()); e1.printStackTrace(); } } } LOG.info("Files Successfully Loaded: " + filesLoaded); LOG.info("EEEEEEE ENDED CDW LOAD EEEEEEE"); }
From source file:ua.aits.crc.controller.MainController.java
@RequestMapping(value = { "/sendmail/", "/sendmail" }, method = RequestMethod.GET) public @ResponseBody String sendMail(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding("UTF-8"); String name = request.getParameter("name"); String email = request.getParameter("email"); String text = request.getParameter("text"); final String username = "office@crc.org.ua"; final String password = "crossroad2000"; Properties props = new Properties(); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected javax.mail.PasswordAuthentication getPasswordAuthentication() { return new javax.mail.PasswordAuthentication(username, password); }/*from w w w .j av a 2 s .c o m*/ }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(email)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("office@crc.org.ua")); message.setSubject("Mail from site"); message.setText("Name: " + name + "\nEmail: " + email + "\n\n" + text); Transport.send(message); return "done"; } catch (MessagingException e) { throw new RuntimeException(e); } }
From source file:com.medsavant.mailer.Mail.java
public synchronized static boolean sendEmail(String to, String subject, String text, File attachment) { try {/*from w ww .ja v a 2s. c o m*/ if (src == null || pw == null || host == null || port == -1) { return false; } if (to.isEmpty()) { return false; } LOG.info("Sending email to " + to + " with subject " + subject); // create some properties and get the default Session Properties props = new Properties(); props.put("mail.smtp.user", src); props.put("mail.smtp.host", host); props.put("mail.smtp.port", port); props.put("mail.smtp.starttls.enable", starttls); props.put("mail.smtp.auth", auth); props.put("mail.smtp.socketFactory.port", port); props.put("mail.smtp.socketFactory.class", socketFactoryClass); props.put("mail.smtp.socketFactory.fallback", fallback); Session session = Session.getInstance(props, null); // create a message MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(src, srcName)); InternetAddress[] address = InternetAddress.parse(to); msg.setRecipients(Message.RecipientType.BCC, address); msg.setSubject(subject); // create and fill the first message part MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setContent(text, "text/html"); // create the Multipart and add its parts to it Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); if (attachment != null) { // create the second message part MimeBodyPart mbp2 = new MimeBodyPart(); // attach the file to the message FileDataSource fds = new FileDataSource(attachment); mbp2.setDataHandler(new DataHandler(fds)); mbp2.setFileName(fds.getName()); mp.addBodyPart(mbp2); } // add the Multipart to the message msg.setContent(mp); // set the Date: header msg.setSentDate(new Date()); // send the message Transport transport = session.getTransport("smtp"); transport.connect(host, src, pw); transport.sendMessage(msg, msg.getAllRecipients()); transport.close(); LOG.info("Mail sent"); return true; } catch (Exception ex) { ex.printStackTrace(); LOG.error(ex); return false; } }
From source file:org.apache.axis2.transport.mail.MailTransportSender.java
/** * Initialize the Mail sender and be ready to send messages * @param cfgCtx the axis2 configuration context * @param transportOut the transport-out description * @throws org.apache.axis2.AxisFault on error *///from w w w .j a v a 2 s . c o m public void init(ConfigurationContext cfgCtx, TransportOutDescription transportOut) throws AxisFault { super.init(cfgCtx, transportOut); // initialize SMTP session Properties props = new Properties(); List<Parameter> params = transportOut.getParameters(); for (Parameter p : params) { props.put(p.getName(), p.getValue()); } if (props.containsKey(MailConstants.MAIL_SMTP_FROM)) { try { smtpFromAddress = new InternetAddress((String) props.get(MailConstants.MAIL_SMTP_FROM)); } catch (AddressException e) { handleException("Invalid default 'From' address : " + props.get(MailConstants.MAIL_SMTP_FROM), e); } } if (props.containsKey(MailConstants.MAIL_SMTP_BCC)) { try { smtpBccAddresses = InternetAddress.parse((String) props.get(MailConstants.MAIL_SMTP_BCC)); } catch (AddressException e) { handleException("Invalid default 'Bcc' address : " + props.get(MailConstants.MAIL_SMTP_BCC), e); } } if (props.containsKey(MailConstants.TRANSPORT_MAIL_FORMAT)) { defaultMailFormat = (String) props.get(MailConstants.TRANSPORT_MAIL_FORMAT); } smtpUsername = (String) props.get(MailConstants.MAIL_SMTP_USERNAME); smtpPassword = (String) props.get(MailConstants.MAIL_SMTP_PASSWORD); if (smtpUsername != null && smtpPassword != null) { session = Session.getInstance(props, new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(smtpUsername, smtpPassword); } }); } else { session = Session.getInstance(props, null); } MailUtils.setupLogging(session, log, transportOut); // set the synchronise callback table if (cfgCtx.getProperty(BaseConstants.CALLBACK_TABLE) == null) { cfgCtx.setProperty(BaseConstants.CALLBACK_TABLE, new ConcurrentHashMap()); } }
From source file:org.libreplan.importers.notifications.ComposeMessage.java
public boolean composeMessageForUser(EmailNotification notification) { // Gather data about EmailTemplate needs to be used Resource resource = notification.getResource(); EmailTemplateEnum type = notification.getType(); Locale locale;//from w w w . j a v a 2 s .c om Worker currentWorker = getCurrentWorker(resource.getId()); UserRole currentUserRole = getCurrentUserRole(notification.getType()); if (currentWorker != null && currentWorker.getUser().isInRole(currentUserRole)) { if (currentWorker.getUser().getApplicationLanguage().equals(Language.BROWSER_LANGUAGE)) { locale = new Locale(System.getProperty("user.language")); } else { locale = new Locale(currentWorker.getUser().getApplicationLanguage().getLocale().getLanguage()); } EmailTemplate currentEmailTemplate = findCurrentEmailTemplate(type, locale); if (currentEmailTemplate == null) { LOG.error("Email template is null"); return false; } // Modify text that will be composed String text = currentEmailTemplate.getContent(); text = replaceKeywords(text, currentWorker, notification); String receiver = currentWorker.getUser().getEmail(); setupConnectionProperties(); final String username = usrnme; final String password = psswrd; // It is very important to use Session.getInstance() instead of Session.getDefaultInstance() Session mailSession = Session.getInstance(properties, new javax.mail.Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); // Send message try { MimeMessage message = new MimeMessage(mailSession); message.setFrom(new InternetAddress(sender)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(receiver)); String subject = currentEmailTemplate.getSubject(); message.setSubject(subject); message.setText(text); Transport.send(message); return true; } catch (MessagingException e) { throw new RuntimeException(e); } catch (NullPointerException e) { if (receiver == null) { Messagebox.show( _(currentWorker.getUser().getLoginName() + " - this user have not filled E-mail"), _("Error"), Messagebox.OK, Messagebox.ERROR); } } } return false; }
From source file:org.talend.dataprep.api.service.mail.MailFeedbackSender.java
@Override public void send(String subject, String body, String sender) { try {//w w w. j a va2s.co m final String recipientList = StringUtils.join((new HashSet<>(Arrays.asList(recipients))).toArray(), ','); subject = subjectPrefix + subject; body = bodyPrefix + "<br/>" + body + "<br/>" + bodySuffix; InternetAddress from = new InternetAddress(this.sender); InternetAddress replyTo = new InternetAddress(sender); Properties p = new Properties(); p.put("mail.smtp.host", smtpHost); p.put("mail.smtp.port", smtpPort); p.put("mail.smtp.starttls.enable", "true"); p.put("mail.smtp.auth", "true"); MailAuthenticator authenticator = new MailAuthenticator(userName, password); Session sendMailSession = Session.getInstance(p, authenticator); MimeMessage msg = new MimeMessage(sendMailSession); msg.setFrom(from); msg.setReplyTo(new Address[] { replyTo }); msg.addRecipients(Message.RecipientType.TO, recipientList); msg.setSubject(subject, "UTF-8"); msg.setSentDate(new Date()); Multipart mainPart = new MimeMultipart(); BodyPart html = new MimeBodyPart(); html.setContent(body, "text/html; charset=utf-8"); mainPart.addBodyPart(html); msg.setContent(mainPart); Transport.send(msg); LOGGER.debug("Sending mail:'{}' to '{}'", subject, recipients); } catch (Exception e) { throw new TDPException(APIErrorCodes.UNABLE_TO_SEND_MAIL, e); } }
From source file:com.twinsoft.convertigo.engine.admin.services.projects.Deploy.java
@Override protected void doUpload(HttpServletRequest request, Document document, FileItem item) throws Exception { if (!item.getName().endsWith(".car")) { ServiceUtils//from w w w . ja v a2 s .c om .addMessage(document, document.getDocumentElement(), "The deployment of the project " + item.getName() + " has failed. The archive file is not valid (.car required).", "error", false); } super.doUpload(request, document, item); // Depending on client browsers, according to the documentation, // item.getName() can either return a full path file name, or // simply a file name. String projectArchive = item.getName(); // Bugfix #1425 int i = projectArchive.lastIndexOf('/'); if (i == -1) { i = projectArchive.lastIndexOf('\\'); if (i != -1) { projectArchive = projectArchive.substring(i + 1); } } else { projectArchive = projectArchive.substring(i + 1); } String projectName = projectArchive.substring(0, projectArchive.indexOf(".car")); Engine.theApp.databaseObjectsManager.deployProject(getRepository() + projectArchive, true, bAssembleXsl); if (Boolean.parseBoolean( EnginePropertiesManager.getProperty(PropertyName.NOTIFICATIONS_NOTIFY_PROJECT_DEPLOYMENT))) { final String fUser = (String) request.getSession().getAttribute(SessionKey.ADMIN_USER.toString()); final String fProjectName = projectName; new Thread(new Runnable() { public void run() { try { Properties props = new Properties(); props.put("mail.smtp.host", EnginePropertiesManager.getProperty(PropertyName.NOTIFICATIONS_SMTP_HOST)); props.put("mail.smtp.socketFactory.port", EnginePropertiesManager.getProperty(PropertyName.NOTIFICATIONS_SMTP_PORT)); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); // Initializing Session mailSession = Session.getInstance(props, new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication( EnginePropertiesManager.getProperty(PropertyName.NOTIFICATIONS_SMTP_USER), EnginePropertiesManager .getProperty(PropertyName.NOTIFICATIONS_SMTP_PASSWORD)); } }); MimeMessage message = new MimeMessage(mailSession); message.addRecipient(Message.RecipientType.TO, new InternetAddress( EnginePropertiesManager.getProperty(PropertyName.NOTIFICATIONS_TARGET_EMAIL))); message.setSubject("[trial] deployment of " + fProjectName + " by " + fUser); message.setText(message.getSubject() + "\n" + "http://trial.convertigo.net/cems/projects/" + fProjectName + "\n" + "https://trial.convertigo.net/cems/projects/" + fProjectName); Transport.send(message); } catch (MessagingException e1) { } } }).start(); } String message = "The project '" + projectName + "' has been successfully deployed."; Engine.logAdmin.info(message); ServiceUtils.addMessage(document, document.getDocumentElement(), message, "message", false); }
From source file:org.blue.star.plugins.send_mail.java
public boolean execute_check() { Properties props = System.getProperties(); props.put("mail.smtp.host", smtpServer); if (smtpAuth) { props.put("mail.smtp.auth", "true"); }/*from ww w . j a v a2 s . c o m*/ Session session = Session.getInstance(props, null); SMTPTransport transport = null; // if (debug) // session.setDebug(true); // construct the message try { Message msg = new MimeMessage(session); if (from != null) msg.setFrom(new InternetAddress(from)); else msg.setFrom(); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false)); if (subject != null) msg.setSubject(subject); msg.setHeader("X-Mailer", "blue-send-mail"); msg.setSentDate(new Date()); msg.setText(message.replace("\\n", "\n").replace("\\t", "\t")); transport = (SMTPTransport) session.getTransport(ssl ? "smtps" : "smtp"); if (smtpAuth) transport.connect(smtpServer, smtpUser, smtpPass); else transport.connect(); transport.sendMessage(msg, msg.getAllRecipients()); transport.close(); } catch (MessagingException mE) { mE.printStackTrace(); this.state = common_h.STATE_CRITICAL; this.text = mE.getMessage(); return false; } finally { try { transport.close(); } catch (Exception e) { } } state = common_h.STATE_OK; text = "Message Sent!"; return true; }