List of usage examples for javax.mail Session getInstance
public static Session getInstance(Properties props, Authenticator authenticator)
From source file:jp.mamesoft.mailsocketchat.Mail.java
public void run() { while (true) { try {// w w w. j a v a 2 s. c o m System.out.println("????"); Properties props = System.getProperties(); // Get a Session object Session session = Session.getInstance(props, null); // session.setDebug(true); // Get a Store object Store store = session.getStore("imaps"); // Connect store.connect("imap.gmail.com", 993, Mailsocketchat.mail_user, Mailsocketchat.mail_pass); System.out.println("??????"); // Open a Folder Folder folder = store.getFolder("INBOX"); if (folder == null || !folder.exists()) { System.out.println("IMAP??????"); System.exit(1); } folder.open(Folder.READ_WRITE); // Add messageCountListener to listen for new messages folder.addMessageCountListener(new MessageCountAdapter() { public void messagesAdded(MessageCountEvent ev) { Message[] msgs = ev.getMessages(); // Just dump out the new messages for (int i = 0; i < msgs.length; i++) { try { System.out.println("?????"); InternetAddress addrfrom = (InternetAddress) msgs[i].getFrom()[0]; String subject = msgs[i].getSubject(); if (subject == null) { subject = ""; } Pattern hashtag_p = Pattern.compile("#(.+)"); Matcher hashtag_m = hashtag_p.matcher(subject); if (subject.equals("#")) { hashtag = null; } else if (hashtag_m.find()) { hashtag = hashtag_m.group(1); } String comment = msgs[i].getContent().toString().replaceAll("\r\n", " "); comment = comment.replaceAll("\n", " "); comment = comment.replaceAll("\r", " "); JSONObject data = new JSONObject(); data.put("comment", comment); if (hashtag != null) { data.put("channel", hashtag); } if (!comment.equals("") && !comment.equals(" ") && !comment.equals(" ")) { Mailsocketchat.socket.emit("say", data); System.out.println("????"); } // if (subject.equals("push") || subject.equals("Push") || subject.equals("")) { Send(addrfrom.getAddress(), 2); Mailsocketchat.push = true; Mailsocketchat.repeat = false; Mailsocketchat.address = addrfrom.getAddress(); repeatthread.cancel(); repeatthread = null; System.out.println("?????"); } else if (subject.equals("fetch") || subject.equals("Fetch") || subject.equals("?")) { Send(addrfrom.getAddress(), 3); Mailsocketchat.push = false; Mailsocketchat.repeat = false; repeatthread.cancel(); repeatthread = null; System.out.println("??????"); } else if (subject.equals("repeat") || subject.equals("Repeat") || subject.equals("")) { Send(addrfrom.getAddress(), 7); Mailsocketchat.push = false; Mailsocketchat.repeat = true; Mailsocketchat.address = addrfrom.getAddress(); if (repeatthread == null) { repeatthread = new Repeat(); repeat = new Timer(); } repeat.schedule(repeatthread, 0, 30 * 1000); System.out.println("?????"); } else if (subject.equals("list") || subject.equals("List") || subject.equals("")) { Send(addrfrom.getAddress(), 4); } else if (subject.equals("help") || subject.equals("Help") || subject.equals("")) { Send(addrfrom.getAddress(), 5); } else { if (!Mailsocketchat.push && !Mailsocketchat.repeat) { Send(addrfrom.getAddress(), 0); } else if (comment.equals("") || comment.equals(" ") || comment.equals(" ")) { Send(addrfrom.getAddress(), 5); } } } catch (IOException ioex) { System.out.println( "??????????"); } catch (MessagingException mex) { System.out.println( "??????????"); } } } }); // Check mail once in "freq" MILLIseconds int freq = 1000; //?? boolean supportsIdle = false; try { if (folder instanceof IMAPFolder) { IMAPFolder f = (IMAPFolder) folder; f.idle(); supportsIdle = true; } } catch (FolderClosedException fex) { throw fex; } catch (MessagingException mex) { supportsIdle = false; } for (;;) { if (supportsIdle && folder instanceof IMAPFolder) { IMAPFolder f = (IMAPFolder) folder; f.idle(); } else { Thread.sleep(freq); // sleep for freq milliseconds // This is to force the IMAP server to send us // EXISTS notifications. folder.getMessageCount(); } } } catch (Exception ex) { System.out.println("??????????"); } } }
From source file:com.email.SendEmailCalInvite.java
/** * Sends email based off of the section it comes from. This creates a * calendar invite object that is interactive by Outlook. * * @param eml EmailOutInviteModel// w w w . j av a 2s . co m */ public static void sendCalendarInvite(EmailOutInvitesModel eml) { SystemEmailModel account = null; //Get Account for (SystemEmailModel acc : Global.getSystemEmailParams()) { if (acc.getSection().equals(eml.getSection())) { account = acc; break; } } if (account != null) { //Get parts String FromAddress = account.getEmailAddress(); String[] TOAddressess = ((eml.getToAddress() == null) ? "".split(";") : eml.getToAddress().split(";")); String[] CCAddressess = ((eml.getCcAddress() == null) ? "".split(";") : eml.getCcAddress().split(";")); String emailSubject = ""; BodyPart emailBody = body(eml); BodyPart inviteBody = null; if (eml.getHearingRoomAbv() == null) { emailSubject = eml.getEmailSubject() == null ? (eml.getEmailBody() == null ? eml.getCaseNumber() : eml.getEmailBody()) : eml.getEmailSubject(); inviteBody = responseDueCalObject(eml, account); } else { emailSubject = eml.getEmailSubject() == null ? Subject(eml) : eml.getEmailSubject(); inviteBody = inviteCalObject(eml, account, emailSubject); } //Set Email Parts Authenticator auth = EmailAuthenticator.setEmailAuthenticator(account); Properties properties = EmailProperties.setEmailOutProperties(account); Session session = Session.getInstance(properties, auth); MimeMessage smessage = new MimeMessage(session); Multipart multipart = new MimeMultipart("alternative"); try { smessage.addFrom(new InternetAddress[] { new InternetAddress(FromAddress) }); for (String To : TOAddressess) { if (EmailValidator.getInstance().isValid(To)) { smessage.addRecipient(Message.RecipientType.TO, new InternetAddress(To)); } } for (String Cc : CCAddressess) { if (EmailValidator.getInstance().isValid(Cc)) { smessage.addRecipient(Message.RecipientType.CC, new InternetAddress(Cc)); } } smessage.setSubject(emailSubject); multipart.addBodyPart(emailBody); multipart.addBodyPart(inviteBody); smessage.setContent(multipart); if (Global.isOkToSendEmail()) { Transport.send(smessage); } else { Audit.addAuditEntry("Cal Invite Not Actually Sent: " + eml.getId() + " - " + emailSubject); } EmailOutInvites.deleteEmailEntry(eml.getId()); } catch (AddressException ex) { ExceptionHandler.Handle(ex); } catch (MessagingException ex) { ExceptionHandler.Handle(ex); } } }
From source file:portal.api.util.EmailUtil.java
public static void SendRegistrationActivationEmail(String email, String messageBody, String subj) { Properties props = new Properties(); // Session session = Session.getDefaultInstance(props, null); props.setProperty("mail.transport.protocol", "smtp"); props.put("mail.smtp.auth", "true"); if ((PortalRepository.getPropertyByName("mailhost").getValue() != null) && (!PortalRepository.getPropertyByName("mailhost").getValue().isEmpty())) props.setProperty("mail.host", PortalRepository.getPropertyByName("mailhost").getValue()); if ((PortalRepository.getPropertyByName("mailuser").getValue() != null) && (!PortalRepository.getPropertyByName("mailuser").getValue().isEmpty())) props.setProperty("mail.user", PortalRepository.getPropertyByName("mailuser").getValue()); if ((PortalRepository.getPropertyByName("mailpassword").getValue() != null) && (!PortalRepository.getPropertyByName("mailpassword").getValue().isEmpty())) props.setProperty("mail.password", PortalRepository.getPropertyByName("mailpassword").getValue()); String adminemail = PortalRepository.getPropertyByName("adminEmail").getValue(); final String username = PortalRepository.getPropertyByName("mailuser").getValue(); final String password = PortalRepository.getPropertyByName("mailpassword").getValue(); logger.info("adminemail = " + adminemail); logger.info("subj = " + subj); Session mailSession = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); }/*from ww w.j a v a 2 s . c om*/ }); Transport transport; try { transport = mailSession.getTransport(); MimeMessage msg = new MimeMessage(mailSession); msg.setSentDate(new Date()); msg.setFrom(new InternetAddress(adminemail, adminemail)); msg.setSubject(subj); msg.setContent(messageBody, "text/html; charset=ISO-8859-1"); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email, email)); msg.addRecipient(Message.RecipientType.CC, new InternetAddress(adminemail, adminemail)); transport.connect(); Address[] recips = (Address[]) ArrayUtils.addAll(msg.getRecipients(Message.RecipientType.TO), msg.getRecipients(Message.RecipientType.CC)); transport.sendMessage(msg, recips); transport.close(); } catch (NoSuchProviderException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:com.mycompany.login.mb.EmailBean.java
public void envia() throws AddressException, MessagingException { Session session = Session.getInstance(this.propriedades, this.authentication); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("anderson.freitas@lifemed.com.br")); message.setRecipients(Message.RecipientType.TO, "anderson.freitas@lifemed.com.br"); message.setSentDate(new Date()); message.setSubject("Teste envio jsf"); message.setContent("Sua solicitao foi aprovada: OS n" + this.os, "text/plain"); Transport.send(message);//from www .j ava2s. c o m }
From source file:uk.ac.ox.it.ords.api.project.services.impl.SendMailTLS.java
protected void sendMail(String subject, String messageText) throws Exception { ///* www .j a v a2 s. c o m*/ // Validate Mail server settings // if (!props.containsKey("mail.smtp.username") || !props.containsKey("mail.smtp.password") || !props.containsKey("mail.smtp.host")) { log.error("Unable to send emails as email server configuration is missing"); throw new Exception("Unable to send emails as email server configuration is missing"); } Session session = Session.getInstance(props, new javax.mail.Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(props.get("mail.smtp.username").toString(), props.get("mail.smtp.password").toString()); } }); try { Message message = new MimeMessage(session); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email)); message.setSubject(subject); message.setText(messageText); Transport.send(message); if (log.isDebugEnabled()) { log.debug(String.format("Sent email to %s", email)); log.debug("with content: " + messageText); } } catch (MessagingException e) { log.error("Unable to send email to " + email, e); throw new Exception("Unable to send email to " + email, e); } }
From source file:uk.ac.ox.it.ords.api.database.services.impl.SendMailTLS.java
protected void sendMail(String subject, String messageText) throws Exception { ////from w ww .j a va 2 s. c o m // Validate Mail server settings // if (!props.containsKey("mail.smtp.username") || !props.containsKey("mail.smtp.password") || !props.containsKey("mail.smtp.host")) { log.error("Unable to send emails as email server configuration is missing"); //throw new Exception("Unable to send emails as email server configuration is missing"); return; // } Session session = Session.getInstance(props, new javax.mail.Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(props.get("mail.smtp.username").toString(), props.get("mail.smtp.password").toString()); } }); try { Message message = new MimeMessage(session); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email)); message.setSubject(subject); message.setText(messageText); Transport.send(message); if (log.isDebugEnabled()) { log.debug(String.format("Sent email to %s", email)); log.debug("with content: " + messageText); } } catch (MessagingException e) { log.error("Unable to send email to " + email, e); throw new Exception("Unable to send email to " + email, e); } }
From source file:lucee.runtime.net.mail.SMTPVerifier.java
private static boolean _verify(String host, String username, String password, int port) throws MessagingException { boolean hasAuth = !StringUtil.isEmpty(username); Properties props = new Properties(); props.put("mail.smtp.host", host); if (hasAuth)//from www. ja v a 2 s. co m props.put("mail.smtp.auth", "true"); if (hasAuth) props.put("mail.smtp.user", username); if (hasAuth) props.put("mail.transport.connect-timeout", "30"); if (port > 0) props.put("mail.smtp.port", String.valueOf(port)); Authenticator auth = null; if (hasAuth) auth = new DefaultAuthenticator(username, password); Session session = Session.getInstance(props, auth); Transport transport = session.getTransport("smtp"); if (hasAuth) transport.connect(host, username, password); else transport.connect(); boolean rtn = transport.isConnected(); transport.close(); return rtn; }
From source file:com.consol.citrus.demo.devoxx.service.MailService.java
/** * Send mail via SMTP connection.//from w w w . j a v a 2 s . co m * @param to * @param subject * @param body */ public void sendMail(String to, String subject, String body) { Properties props = new Properties(); props.put("mail.smtp.host", mailServerHost); props.put("mail.smtp.port", mailServerPort); props.put("mail.smtp.auth", true); Authenticator authenticator = new Authenticator() { private PasswordAuthentication pa = new PasswordAuthentication(username, password); @Override public PasswordAuthentication getPasswordAuthentication() { return pa; } }; Session session = Session.getInstance(props, authenticator); session.setDebug(true); MimeMessage message = new MimeMessage(session); try { message.setFrom(new InternetAddress(from)); InternetAddress[] address = { new InternetAddress(to) }; message.setRecipients(Message.RecipientType.TO, address); message.setSubject(subject); message.setSentDate(new Date()); message.setText(body); Transport.send(message); } catch (MessagingException e) { log.error("Failed to send mail!", e); } }
From source file:net.jetrix.mail.MailSessionManager.java
/** * Initialize the mail session from the specified configuration. *//*from w w w.j ava 2 s.c o m*/ public void setConfiguration(final MailSessionConfig config) { try { if (!StringUtils.isBlank(config.getHostname())) { Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", config.getHostname()); props.setProperty("mail.smtp.port", String.valueOf(config.getPort())); props.setProperty("mail.smtp.auth", String.valueOf(config.isAuth())); session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(config.getUsername(), config.getPassword()); } }); // enable the debug mode if requested if (config.isDebug()) { session.setDebug(true); } } else { log.warning("Unable to initialize the mail session, the hostname is missing"); } } catch (Exception e) { log.log(Level.SEVERE, "Unable to initialize the mail session", e); } }
From source file:jease.cms.service.Mails.java
/** * Sends an email synchronously./*from w w w . j a v a2s . co m*/ */ public void send(String sender, String recipients, String subject, String text) throws MessagingException { if (properties != null) { Session session = Session.getInstance(properties.asProperties(), new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(properties.getUser(), properties.getPassword()); } }); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(sender)); message.setReplyTo(new InternetAddress[] { new InternetAddress(sender) }); message.setRecipients(Message.RecipientType.TO, recipients); message.setSubject(subject, "utf-8"); message.setSentDate(new Date()); message.setHeader("Content-Type", "text/plain; charset=\"utf-8\""); message.setHeader("Content-Transfer-Encoding", "quoted-printable"); message.setText(text, "utf-8"); Transport.send(message); } }