List of usage examples for javax.mail Session getDefaultInstance
public static synchronized Session getDefaultInstance(Properties props, Authenticator authenticator)
From source file:com.redhat.rhn.common.messaging.SmtpMail.java
/** * Create a mailer.//from ww w .ja v a2s .c o m */ public SmtpMail() { log.debug("Constructed new SmtpMail."); disallowedDomains = Config.get().getStringArray("web.disallowed_mail_domains"); restrictedDomains = Config.get().getStringArray("web.restrict_mail_domains"); Config c = Config.get(); smtpHost = c.getString(ConfigDefaults.WEB_SMTP_SERVER, "localhost"); String from = c.getString(ConfigDefaults.WEB_DEFAULT_MAIL_FROM); // Get system properties Properties props = System.getProperties(); // Setup mail server props.put("mail.smtp.host", smtpHost); // Get session Session session = Session.getDefaultInstance(props, null); try { message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); } catch (AddressException me) { String msg = "Malformed address in traceback configuration: " + from; log.warn(msg); throw new JavaMailException(msg, me); } catch (MessagingException me) { String msg = "MessagingException while trying to send email: " + me.toString(); log.warn(msg); throw new JavaMailException(msg, me); } }
From source file:Security.EmailSender.java
/** * Metda sendUerAuthEmail sli na generovanie a zaslanie potvrdzovacieho emailu, ktor sli na overenie zadanho emailu pouvatea, novo registrovanmu pouvateovi. * @param email - emailov adresa pouvatea, ktormu bude zalan email * @param userToken - jedine?n 32 znakov identifiktor registrcie pouvatea * @param firstName - krstn meno pouvatea * @param lastName - priezvisko pouvatea *//*from w ww . ja va2s. c o m*/ public void sendUserAuthEmail(String email, String userToken, String firstName, String lastName) { String name = "NONE"; String surname = "NONE"; if (firstName != null) { name = firstName; } if (lastName != null) { surname = lastName; } Properties props = new Properties(); props.put("mail.smtp.host", server); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("skuska.api.3@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email)); message.setSubject("Confirmation email from GPSWebApp server!!!"); //message.setText(userToken); message.setSubject("Confirmation email from GPSWebApp server!!!"); if (system.startsWith("Windows")) { message.setContent("<html><head><meta charset=\"Windows-1250\"></head><body><h1>Hello " + name + " " + surname + ", please confirm your email by clicking on link ...</h1><a href=http://localhost:8084/GPSWebApp/TryToAcceptUser.jsp?token=" + userToken + "&email=" + email + ">LINK</a></body></html>", "text/html"); } else { message.setContent("<html><head><meta charset=\"Windows-1250\"></head><body><h1>Hello " + name + " " + surname + ", please confirm your email by clicking on link ...</h1><a href=http://gps.kpi.fei.tuke.sk/TryToAcceptUser.jsp?token=" + userToken + "&email=" + email + ">LINK</a></body></html>", "text/html"); } Transport.send(message); FileLogger.getInstance().createNewLog("Successfuly sent email to user " + email + "."); } catch (MessagingException e) { FileLogger.getInstance().createNewLog("ERROR: cannot sent email to user " + email + "."); } }
From source file:org.alfresco.repo.imap.RemoteLoadTester.java
public void testListSequence() { System.out.println(String.format("Connecting to remote server '%s'", REMOTE_HOST)); Properties props = System.getProperties(); props.setProperty("mail.imap.partialfetch", "false"); Session session = Session.getDefaultInstance(props, null); Store store = null;// w ww . j av a2 s . c o m long startTime = 0; long endTime = 0; try { store = session.getStore("imap"); store.connect(REMOTE_HOST, ADMIN_USER_NAME, ADMIN_USER_NAME); Folder[] folders = null; startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().list(""); endTime = System.currentTimeMillis(); System.out.println(String.format("LIST '', folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().list("*"); endTime = System.currentTimeMillis(); System.out.println(String.format("LIST *, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().listSubscribed("*"); endTime = System.currentTimeMillis(); System.out.println(String.format("LSUB *, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); for (Folder folder : folders) { folder.getMessageCount(); //Folder f = store.getFolder(folder.getFullName()); } endTime = System.currentTimeMillis(); System.out.println(String.format("Folders Loop, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); } catch (NoSuchProviderException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } finally { try { store.close(); } catch (MessagingException e) { System.err.println(e.getMessage()); } } }
From source file:org.wso2.carbon.apimgt.core.impl.NewApiVersionMailNotifier.java
@Override public void sendNotifications(NotificationDTO notificationDTO) throws APIManagementException { Properties props = notificationDTO.getProperties(); //get Notifier email List Set<String> emailList = getEmailNotifierList(notificationDTO); if (emailList.isEmpty()) { log.debug("Email Notifier Set is Empty"); return;//from w w w . ja v a2 s . c o m } for (String mail : emailList) { try { Authenticator auth = new SMTPAuthenticator(); Session mailSession = Session.getDefaultInstance(props, auth); MimeMessage message = new MimeMessage(mailSession); notificationDTO.setTitle((String) notificationDTO.getProperty(NotifierConstants.TITLE_KEY)); notificationDTO.setMessage((String) notificationDTO.getProperty(NotifierConstants.TEMPLATE_KEY)); notificationDTO = loadMailTemplate(notificationDTO); message.setSubject(notificationDTO.getTitle()); message.setContent(notificationDTO.getMessage(), NotifierConstants.TEXT_TYPE); message.setFrom(new InternetAddress(mailConfigurations.getFromUser())); message.addRecipient(Message.RecipientType.TO, new InternetAddress(mail)); Transport.send(message); } catch (MessagingException e) { log.error("Exception Occurred during Email notification Sending", e); } } }
From source file:sk.mlp.security.EmailSender.java
/** * Metda sendUerAuthEmail sli na generovanie a zaslanie potvrdzovacieho emailu, ktor sli na overenie zadanho emailu pouvatea, novo registrovanmu pouvateovi. * @param email - emailov adresa pouvatea, ktormu bude zalan email * @param userToken - jedine?n 32 znakov identifiktor registrcie pouvatea * @param firstName - krstn meno pouvatea * @param lastName - priezvisko pouvatea *///from w w w . j av a 2 s.c o m public void sendUserAuthEmail(String email, String userToken, String firstName, String lastName) { String name = "NONE"; String surname = "NONE"; if (firstName != null) { name = firstName; } if (lastName != null) { surname = lastName; } Properties props = new Properties(); props.put("mail.smtp.host", server); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }); try { Message message = new MimeMessage(session); message.setFrom(new InternetAddress("skuska.api.3@gmail.com")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email)); message.setSubject("Confirmation email from gTraxxx app!!!"); //message.setText(userToken); message.setSubject("Confirmation email from gTraxxx app!!!"); if (system.startsWith("Windows")) { message.setContent("<html><head><meta charset=\"Windows-1250\"></head><body><h1>Hello " + name + " " + surname + ", please confirm your email by clicking on link ...</h1><a href=http://localhost:8080/gTraxxx/TryToAcceptUser.jsp?token=" + userToken + "&email=" + email + ">LINK</a></body></html>", "text/html"); } else { message.setContent("<html><head><meta charset=\"Windows-1250\"></head><body><h1>Hello " + name + " " + surname + ", please confirm your email by clicking on link ...</h1><a href=http://gps.kpi.fei.tuke.sk/TryToAcceptUser.jsp?token=" + userToken + "&email=" + email + ">LINK</a></body></html>", "text/html"); } Transport.send(message); FileLogger.getInstance().createNewLog("Successfuly sent email to user " + email + "."); } catch (MessagingException e) { FileLogger.getInstance().createNewLog("ERROR: cannot sent email to user " + email + "."); } }
From source file:com.riq.MailHandlerServlet.java
@Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { log.info("Inside MailServlet doPost"); // TODO get path information to determine target Department for this email PersistenceManager pm = PMF.get().getPersistenceManager(); Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); try {/*from w w w. ja v a 2 s. c o m*/ MimeMessage msg = new MimeMessage(session, req.getInputStream()); Address sender = msg.getFrom()[0]; Address replyTo = msg.getReplyTo()[0]; // DEBUG // log.info("Message Class: " + msg.getClass()); // log.info("Message Stream: " + msg.getInputStream()); // log.info("Message RawStream: " + msg.getRawInputStream()); // log.info("Message Flags: " + msg.getFlags()); // log.info("Message Content: " + msg.getContent().toString()); // log.info("Message ContentID: " + msg.getContentID()); // log.info("Message ContentMD: " + msg.getContentMD5()); // log.info("Message ContentType: " + msg.getContentType()); // log.info("Message Description: " + msg.getDescription()); // log.info("Message Disposition: " + msg.getDisposition()); // log.info("Message Encoding: " + msg.getEncoding()); // log.info("Message Filename: " + msg.getFileName()); // log.info("Message Line Count: " + msg.getLineCount()); // log.info("Message ID: " + msg.getMessageID()); // log.info("Message Number: " + msg.getMessageNumber()); // log.info("Message Size: " + msg.getSize()); // log.info("Message Subject: " + msg.getSubject()); // log.info("Message RawInputStream: " + msg.getRawInputStream().toString()); // log.info("Message ReplyTo: " + replyTo); // log.info("Message Sender: " + sender.toString()); // log.info("Request URL TO: " + getServletContext()); String alertMsgString = getText(msg); alertMsgString = alertMsgString.replaceAll("Begin forwarded message:", ""); alertMsgString = alertMsgString.replaceAll("Forwarded message", ""); alertMsgString = alertMsgString.replaceAll("Dispatch@co.morris.nj.us", ""); alertMsgString = alertMsgString.replaceAll("Date:", ""); alertMsgString = alertMsgString.replaceAll(">", ""); alertMsgString = alertMsgString.replaceAll("::", "-"); alertMsgString = alertMsgString.replaceAll("< ", ""); alertMsgString = alertMsgString.replaceAll("----------", ""); alertMsgString = alertMsgString.replaceAll("Subject:", ""); alertMsgString = alertMsgString.replaceAll("To:", ""); alertMsgString = alertMsgString.replaceAll("From:", ""); // Added to grab gmail confirmations // alertMsgString = alertMsgString.substring(50, 300); try { String queryDept = "select from " + Department.class.getName() + // TODO: johnreilly workaround for getting allRecipients... // " where dispatchId == '" + toAddressDigitsOnly + "' " + " where dispatchId == '2599' " + " && fromEmail == '" + sender + "' "; log.info("queryDept: " + queryDept); List<Department> depts = (List<Department>) pm.newQuery(queryDept).execute(); if (depts.size() != 0) { for (Department d : depts) { // need to filter further e.g. last two hours String queryAlert = "select from " + Alert.class.getName() + " where deptId == " + depts.get(0).getid() + " && messageId == '" + msg.getMessageID() + "' "; log.info("queryAlert: " + queryAlert); List<Alert> alerts = (List<Alert>) pm.newQuery(queryAlert).execute(); log.info("queryAlert Result Qty: " + alerts.size()); if (alerts.size() == 0) { riqGeocode(alertMsgString); // geocode the address from the Alert Map<String, String> geoResults = riqGeocode(alertMsgString); log.info("lat print: " + geoResults.get("lat")); log.info("lng print: " + geoResults.get("lng")); // create the alert Long deptId = depts.get(0).getid(); Long timeStamp = System.currentTimeMillis(); Alert a = new Alert(deptId, timeStamp, alertMsgString.trim(), sender.toString(), "Active", "", geoResults.get("lat"), geoResults.get("lng"), msg.getMessageID()); pm.makePersistent(a); // query to get id of this alert String queryThisAlert = "select from " + Alert.class.getName() + " where deptId == " + deptId + " " + " && timeStamp == " + timeStamp; log.info("queryThisAlert: " + queryThisAlert); List<Alert> thisAlert = (List<Alert>) pm.newQuery(queryThisAlert).execute(); log.info("queryCurrentAlert Result Qty: " + thisAlert.size()); // create Tracking records for "special" Locations String querySpecialLocs = "select from " + Location.class.getName() + " where special == 'yes' && deptId == " + deptId; log.info("querySpecialLocs: " + querySpecialLocs); List<Location> specialLocs = (List<Location>) pm.newQuery(querySpecialLocs).execute(); log.info("querySpecialLocs qty: " + specialLocs.size()); for (Location specL : specialLocs) { Tracking tSL = new Tracking(deptId, thisAlert.get(0).getid(), specL.getid(), System.currentTimeMillis(), null, // TODO: johnreilly authorId tbd "location", specL.getid(), null, "autoAddLocation"); pm.makePersistent(tSL); } // search Dept for Location where distant Members presumed not to be responding are set String queryFarawayLocs = "select from " + Location.class.getName() + " where vru == '2' && deptId == " + deptId; log.info("querySpecialLocs: " + queryFarawayLocs); List<Location> farawayLoc = (List<Location>) pm.newQuery(queryFarawayLocs).execute(); log.info("queryFarawayLocs qty: " + farawayLoc.size()); // create Tracking records for Members presumed not to be responder due to fresh ETA String queryFarAwayResponders = "select from " + Member.class.getName() + " where distGroup == '4' "; log.info("queryFarAwayResponders: " + queryFarAwayResponders); List<Member> farawayMembers = (List<Member>) pm.newQuery(queryFarAwayResponders) .execute(); log.info("queryFarAwayResponders qty: " + farawayMembers.size()); if (farawayMembers.size() != 0) { for (Member far : farawayMembers) { Tracking tMFAR = new Tracking(deptId, thisAlert.get(0).getid(), farawayLoc.get(0).getid(), System.currentTimeMillis(), null, // TODO: johnreilly authorId tbd "farawayAddMember", far.getid(), null, responseType); pm.makePersistent(tMFAR); } } // TODO: testing restriction HACKER - remove at launch // send alert email String queryMember = "select from " + Member.class.getName() + " where deptId == " + deptId + " && type == 'Hacker' "; List<Member> members = (List<Member>) pm.newQuery(queryMember).execute(); //TODO Geocode address to insure easy navigation //TODO johnreilly: add street and town fields to Alert msg.setFrom( new InternetAddress("admin@responderiq05.appspotmail.com", "FirstResponder")); msg.setSubject("Alert!"); msg.setText(" Y=" + d.getinboundVRU1() + "&N=" + d.getinboundVRU2() + // "&3=" + d.getinboundVRU3() + "&A=" + thisAlert.get(0).getalertMsgString()); // send message to all dept members who permit tracking (and sending email alerts) for (Member m : members) { msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m.getsmsAddress(), m.getfirstName() + "" + m.getlastName())); log.info("Member: " + m.getsmsAddress() + "|" + m.getlastName()); } } // only process for one department - should only be one department break; } } } catch (MessagingException me) { log.info("Error: Messaging"); } catch (IndexOutOfBoundsException mi) { log.info("Error: Out of Bounds"); } // Do not send alert notification if email is a Google Confirmation // if (! sender.toString().contains("mail-noreply@google.com")) { // Transport.send(msg); // } } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { pm.close(); } }
From source file:org.apache.juddi.v3.tck.UDDI_090_Smtp_ExternalTest.java
/** * gets all current messages from the mail server and returns the number * of messages containing the string, messages containing the string are * deleted from the mail server String is the body of each message * * @return number of matching and deleted messages * @param contains a string to search for */// www .j a v a 2s. c o m private static int fetchMail(String contains) { //final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; /* Set the mail properties */ Properties properties = TckPublisher.getProperties(); // Set manual Properties int found = 0; Session session = Session.getDefaultInstance(properties, null); Store store = null; try { store = session.getStore("pop3"); store.connect(properties.getProperty("mail.pop3.host"), Integer.parseInt(properties.getProperty("mail.pop3.port", "110")), properties.getProperty("mail.pop3.username"), properties.getProperty("mail.pop3.password")); /* Mention the folder name which you want to read. */ // inbox = store.getDefaultFolder(); // inbox = inbox.getFolder("INBOX"); Folder inbox = store.getFolder("INBOX"); /* Open the inbox using store. */ inbox.open(Folder.READ_WRITE); Message messages[] = inbox.getMessages(); for (int i = 0; i < messages.length; i++) { MimeMessageParser p = new MimeMessageParser(new MimeMessage(session, messages[i].getInputStream())); Enumeration allHeaders = p.getMimeMessage().getAllHeaders(); while (allHeaders.hasMoreElements()) { Object j = allHeaders.nextElement(); if (j instanceof javax.mail.Header) { javax.mail.Header msg = (javax.mail.Header) j; logger.info("XML as message header is " + msg.getValue()); if (msg.getValue().contains(contains)) { //found it messages[i].setFlag(Flags.Flag.DELETED, true); found++; } } } for (int k = 0; k < p.getAttachmentList().size(); k++) { InputStream is = p.getAttachmentList().get((k)).getInputStream(); QuotedPrintableCodec qp = new QuotedPrintableCodec(); // If "is" is not already buffered, wrap a BufferedInputStream // around it. if (!(is instanceof BufferedInputStream)) { is = new BufferedInputStream(is); } int c; StringBuilder sb = new StringBuilder(); System.out.println("Message : "); while ((c = is.read()) != -1) { sb.append(c); System.out.write(c); } is.close(); String decoded = qp.decode(sb.toString()); logger.info("decode message is " + decoded); if (decoded.contains(contains)) { //found it messages[i].setFlag(Flags.Flag.DELETED, true); found++; } } } inbox.close(true); } catch (Exception ex) { ex.printStackTrace(); } finally { if (store != null) { try { store.close(); } catch (Exception ex) { } } } return found; }
From source file:org.geoserver.wps.mail.SendMail.java
/** * Send an EMail to a specified address. * /*www .j ava 2 s . c om*/ * @param address the to address * @param subject the email address * @param body message to send * @throws MessagingException the messaging exception * @throws IOException Signals that an I/O exception has occurred. */ public void send(String address, String subject, String body) { try { // Session session = Session.getDefaultInstance(props, null); Session session = Session.getDefaultInstance(props, (conf.getMailSmtpAuth().equalsIgnoreCase("true") ? new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(conf.getUserName(), conf.getPassword()); } } : null)); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(conf.getFromAddress(), conf.getFromAddressname())); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(address)); message.setSubject(subject); message.setText(body.toString()); Transport.send(message); } catch (Exception e) { if (LOGGER.isLoggable(Level.SEVERE)) { LOGGER.log(Level.SEVERE, e.getLocalizedMessage(), e); } } }
From source file:com.pinterest.deployservice.email.SMTPMailManagerImpl.java
public void send(String to, String title, String message) throws Exception { Session session = Session.getDefaultInstance(properties, getAuthenticator()); // Create a default MimeMessage object. MimeMessage mimeMessage = new MimeMessage(session); // Set From: header field of the header. mimeMessage.setFrom(new InternetAddress(adminAddress)); // Set To: header field of the header. mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: header field mimeMessage.setSubject(title);//from w w w .j a va2 s . c om // Now set the actual message mimeMessage.setText(message); // Send message Transport.send(mimeMessage); }
From source file:com.assetmanager.service.mail.MailService.java
/** * Sends the activation e-mail to the given user. * * @param user the user/*w ww . java 2 s.c o m*/ * @param locale the locale * @throws MessagingException messaging exception */ public final void sendActivationEmail(final UserAccount user, final String locale) throws MessagingException { final Properties props = new Properties(); final Session session = Session.getDefaultInstance(props, null); final Message message = new MimeMessage(session); final Multipart multipart = new MimeMultipart(); final MimeBodyPart htmlPart = new MimeBodyPart(); final MimeBodyPart textPart = new MimeBodyPart(); message.setFrom(new InternetAddress(getFromAddress())); message.addRecipient(Message.RecipientType.TO, new InternetAddress(user.getEmail())); message.setSubject(messageSource.getMessage("mail.subject", null, new Locale(locale))); textPart.setContent(messageSource.getMessage("mail.body.txt", new Object[] { getHostname(), user.getActivationKey() }, new Locale(locale)), "text/plain"); htmlPart.setContent(messageSource.getMessage("mail.body.html", new Object[] { getHostname(), user.getActivationKey() }, new Locale(locale)), "text/html"); multipart.addBodyPart(textPart); multipart.addBodyPart(htmlPart); message.setContent(multipart); Transport.send(message); }