List of usage examples for javax.mail Session getProvider
public synchronized Provider getProvider(String protocol) throws NoSuchProviderException
From source file:registry.java
public static void main(String[] args) { Properties props = new Properties(); // set smtp and imap to be our default // transport and store protocols, respectively props.put("mail.transport.protocol", "smtp"); props.put("mail.store.protocol", "imap"); // //from www . j a v a 2s. c o m props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport"); props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore"); Session session = Session.getInstance(props, null); //session.setDebug(true); // Retrieve all configured providers from the Session System.out.println("\n------ getProviders()----------"); Provider[] providers = session.getProviders(); for (int i = 0; i < providers.length; i++) { System.out.println("** " + providers[i]); // let's remember some providers so that we can use them later // (I'm explicitly showing multiple ways of testing Providers) // BTW, no Provider "ACME Corp" will be found in the default // setup b/c its not in any javamail.providers resource files String s = null; if (((s = providers[i].getVendor()) != null) && s.startsWith("ACME Corp")) { _aProvider = providers[i]; } // this Provider won't be found by default either if (providers[i].getClassName().endsWith("application.smtp")) _bProvider = providers[i]; // this Provider will be found since com.sun.mail.imap.IMAPStore // is configured in javamail.default.providers if (providers[i].getClassName().equals("com.sun.mail.imap.IMAPStore")) { _sunIMAP = providers[i]; } // this Provider will be found as well since there is an // Oracle SMTP transport configured by // default in javamail.default.providers if (((s = providers[i].getVendor()) != null) && s.startsWith("Oracle") && providers[i].getType() == Provider.Type.TRANSPORT && providers[i].getProtocol().equalsIgnoreCase("smtp")) { _sunSMTP = providers[i]; } } System.out.println("\n------ initial protocol defaults -------"); try { System.out.println("imap: " + session.getProvider("imap")); System.out.println("smtp: " + session.getProvider("smtp")); // the NNTP provider will fail since we don't have one configured System.out.println("nntp: " + session.getProvider("nntp")); } catch (NoSuchProviderException mex) { System.out.println(">> This exception is OK since there is no NNTP Provider configured by default"); mex.printStackTrace(); } System.out.println("\n------ set new protocol defaults ------"); // set some new defaults try { // since _aProvider isn't configured, this will fail session.setProvider(_aProvider); // will fail } catch (NoSuchProviderException mex) { System.out.println(">> Exception expected: _aProvider is null"); mex.printStackTrace(); } try { // _sunIMAP provider should've configured correctly; should work session.setProvider(_sunIMAP); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } try { System.out.println("imap: " + session.getProvider("imap")); System.out.println("smtp: " + session.getProvider("smtp")); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } System.out.println("\n\n----- get some stores ---------"); // multiple ways to retrieve stores. these will print out the // string "imap:" since its the URLName for the store try { System.out.println("getStore(): " + session.getStore()); System.out.println("getStore(Provider): " + session.getStore(_sunIMAP)); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } try { System.out.println("getStore(imap): " + session.getStore("imap")); // pop3 will fail since it doesn't exist System.out.println("getStore(pop3): " + session.getStore("pop3")); } catch (NoSuchProviderException mex) { System.out.println(">> Exception expected: no pop3 provider"); mex.printStackTrace(); } System.out.println("\n\n----- now for transports/addresses ---------"); // retrieve transports; these will print out "smtp:" (like stores did) try { System.out.println("getTransport(): " + session.getTransport()); System.out.println("getTransport(Provider): " + session.getTransport(_sunSMTP)); System.out.println("getTransport(smtp): " + session.getTransport("smtp")); System.out.println( "getTransport(Address): " + session.getTransport(new InternetAddress("mspivak@apilon"))); // News will fail since there's no news provider configured System.out.println("getTransport(News): " + session.getTransport(new NewsAddress("rec.humor"))); } catch (MessagingException mex) { System.out.println(">> Exception expected: no news provider configured"); mex.printStackTrace(); } }
From source file:registry.java
public static void main(String[] args) { Properties props = new Properties(); // set smtp and imap to be our default // transport and store protocols, respectively props.put("mail.transport.protocol", "smtp"); props.put("mail.store.protocol", "imap"); // /* www . ja v a 2 s . c om*/ props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport"); props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore"); Session session = Session.getInstance(props, null); // session.setDebug(true); // Retrieve all configured providers from the Session System.out.println("\n------ getProviders()----------"); Provider[] providers = session.getProviders(); for (int i = 0; i < providers.length; i++) { System.out.println("** " + providers[i]); // let's remember some providers so that we can use them later // (I'm explicitly showing multiple ways of testing Providers) // BTW, no Provider "ACME Corp" will be found in the default // setup b/c its not in any javamail.providers resource files String s = null; if (((s = providers[i].getVendor()) != null) && s.startsWith("ACME Corp")) { _aProvider = providers[i]; } // this Provider won't be found by default either if (providers[i].getClassName().endsWith("application.smtp")) _bProvider = providers[i]; // this Provider will be found since com.sun.mail.imap.IMAPStore // is configured in javamail.default.providers if (providers[i].getClassName().equals("com.sun.mail.imap.IMAPStore")) { _sunIMAP = providers[i]; } // this Provider will be found as well since there is a // Sun Microsystems SMTP transport configured by // default in javamail.default.providers if (((s = providers[i].getVendor()) != null) && s.startsWith("Sun Microsystems") && providers[i].getType() == Provider.Type.TRANSPORT && providers[i].getProtocol().equalsIgnoreCase("smtp")) { _sunSMTP = providers[i]; } } System.out.println("\n------ initial protocol defaults -------"); try { System.out.println("imap: " + session.getProvider("imap")); System.out.println("smtp: " + session.getProvider("smtp")); // the NNTP provider will fail since we don't have one configured System.out.println("nntp: " + session.getProvider("nntp")); } catch (NoSuchProviderException mex) { System.out.println(">> This exception is OK since there is no NNTP Provider configured by default"); mex.printStackTrace(); } System.out.println("\n------ set new protocol defaults ------"); // set some new defaults try { // since _aProvider isn't configured, this will fail session.setProvider(_aProvider); // will fail } catch (NoSuchProviderException mex) { System.out.println(">> Exception expected: _aProvider is null"); mex.printStackTrace(); } try { // _sunIMAP provider should've configured correctly; should work session.setProvider(_sunIMAP); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } try { System.out.println("imap: " + session.getProvider("imap")); System.out.println("smtp: " + session.getProvider("smtp")); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } System.out.println("\n\n----- get some stores ---------"); // multiple ways to retrieve stores. these will print out the // string "imap:" since its the URLName for the store try { System.out.println("getStore(): " + session.getStore()); System.out.println("getStore(Provider): " + session.getStore(_sunIMAP)); } catch (NoSuchProviderException mex) { mex.printStackTrace(); } try { System.out.println("getStore(imap): " + session.getStore("imap")); // pop3 will fail since it doesn't exist System.out.println("getStore(pop3): " + session.getStore("pop3")); } catch (NoSuchProviderException mex) { System.out.println(">> Exception expected: no pop3 provider"); mex.printStackTrace(); } System.out.println("\n\n----- now for transports/addresses ---------"); // retrieve transports; these will print out "smtp:" (like stores did) try { System.out.println("getTransport(): " + session.getTransport()); System.out.println("getTransport(Provider): " + session.getTransport(_sunSMTP)); System.out.println("getTransport(smtp): " + session.getTransport("smtp")); System.out.println( "getTransport(Address): " + session.getTransport(new InternetAddress("mspivak@apilon"))); // News will fail since there's no news provider configured System.out.println("getTransport(News): " + session.getTransport(new NewsAddress("rec.humor"))); } catch (MessagingException mex) { System.out.println(">> Exception expected: no news provider configured"); mex.printStackTrace(); } }
From source file:com.formkiq.core.service.notification.MailSenderServiceTest.java
/** * testLoadMailProperties01().//w w w . j ava 2 s . c o m * @throws Exception Exception */ @Test public void testLoadMailProperties01() throws Exception { // given String ls = System.getProperty("line.separator"); String source = "mail.host=smtp.gmail.com" + ls + "mail.port=587" + ls + "mail.username=test@formkiq.com" + ls + "mail.password=test" + ls + "mail.smtp.auth=true" + ls + "mail.smtp.starttls.enable=true" + ls + "mail.smtp.quitwait=false"; InputStream in = IOUtils.toInputStream(source, "UTF-8"); Properties prop = new Properties(); prop.load(in); // when Session se = Session.getDefaultInstance(prop, null); Provider prov = se.getProvider("smtp"); Class<?> clazz = Class.forName(prov.getClassName()); // then assertNotNull(clazz); in.close(); }
From source file:org.socraticgrid.displaymaildata.DisplayMailDataHandler.java
/** * // w ww .jav a 2s. c om * @param session * @param sslStore * @param access * @param folderName * @return * @throws MessagingException * @throws NoSuchProviderException */ private Folder getImapFolder(Session session, IMAPSSLStore sslStore, String[] access, String folderName) throws MessagingException, NoSuchProviderException { Folder folder; Provider provider = session.getProvider("imap"); session.setProvider(provider); URLName urlName = new URLName(mailUrl); sslStore = new IMAPSSLStore(session, urlName); sslStore.connect(host, access[0], access[1]); folder = sslStore.getFolder(folderName); return folder; }
From source file:org.xmlactions.email.EMailSend.java
public static void sendEMail(String fromAddress, String toAddress, String host, String userName, String password, String subject, String msg) throws AddressException, MessagingException { log.debug(String.format(/*from www .j a v a2 s . c om*/ "sendEMail(from:%s, to:%s, host:%s, userName:%s, password:%s)\nsubject:{" + subject + "\n}\nmessage:{" + msg + "\n}", fromAddress, toAddress, host, userName, toPassword(password), subject, msg)); Properties props = System.getProperties(); props.put("mail.smtp.host", host); Session session; if (!StringUtils.isEmpty(password)) { props.put("mail.smtp.auth", "true"); //EMailAuthenticator auth = new EMailAuthenticator(userName + "+" + host, password); EMailAuthenticator auth = new EMailAuthenticator(userName, password); session = Session.getInstance(props, auth); } else { session = Session.getInstance(props); } // Define message MimeMessage message = new MimeMessage(session); // message.setFrom(new InternetAddress("email_addresses@riostl.com")); message.setFrom(new InternetAddress(fromAddress)); message.addRecipient(RecipientType.TO, new InternetAddress(toAddress)); message.setSubject(subject); message.setText(msg); // Send message if (StringUtils.isEmpty(password)) { Transport.send(message); } else { Provider provider = session.getProvider("smtp"); Transport transport = session.getTransport(provider); // Send message transport.connect(); transport.sendMessage(message, new Address[] { new InternetAddress(toAddress) }); transport.close(); } }