List of usage examples for javax.mail Session setProvider
public synchronized void setProvider(Provider provider) 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"); // /* w w w.j av a 2 s.co 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"); // // w w w .j a v a2 s. co 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 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.sonicle.webtop.mail.MailAccount.java
public void setMailSession(Session session) { this.session = session; try {/*from w ww. ja v a2 s . c om*/ session.setProvider(new Provider(Provider.Type.STORE, "imap", "com.sonicle.mail.imap.SonicleIMAPStore", "Sonicle", "1.0")); session.setProvider(new Provider(Provider.Type.STORE, "imaps", "com.sonicle.mail.imap.SonicleIMAPSSLStore", "Sonicle", "1.0")); } catch (NoSuchProviderException exc) { Service.logger.error("Cannot create mail session", exc); } }
From source file:com.zotoh.maedr.device.PopIO.java
private boolean conn() { if (_pop == null || !_pop.isConnected()) try {/* w w w . j a v a2 s .c o m*/ Session session = Session.getInstance(new Properties(), null); Provider[] ps = session.getProviders(); Provider sun = null; Store st = null; Folder f = null; String uid = isEmpty(_user) ? null : _user; String pwd = isEmpty(_pwd) ? null : _pwd; String key = ST_POP3, sn = POP3; closePOP(); if (_ssl) { key = ST_POP3S; sn = POP3S; } for (int i = 0; i < ps.length; ++i) { if (key.equals(ps[i].getClassName())) { sun = ps[i]; break; } } if (!isEmpty(_storeImpl)) { // this should never happen , only in testing sun = new Provider(Provider.Type.STORE, "pop3", _storeImpl, "test", "1.0.0"); sn = POP3; } session.setProvider(sun); st = session.getStore(sn); if (st != null) { st.connect(_host, _port, uid, pwd); f = st.getDefaultFolder(); } if (f != null) { f = f.getFolder("INBOX"); } if (f == null || !f.exists()) { throw new Exception("POP3: Cannot find inbox"); } _pop = st; _fd = f; } catch (Exception e) { tlog().warn("", e); closePOP(); } return _pop != null && _pop.isConnected(); }
From source file:org.socraticgrid.displaymaildata.DisplayMailDataHandler.java
/** * // www. j ava 2s . c o m * @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; }