protected Charset getCharset(final String property, Charset defaultCharset) { return new PropertiesUtil(PropertiesUtil.getSystemProperties()).getCharsetProperty(property, defaultCharset); }
@Override public SmtpManager createManager(final String name, final FactoryData data) { final String prefix = "mail." + data.protocol; final Properties properties = PropertiesUtil.getSystemProperties(); properties.put("mail.transport.protocol", data.protocol); if (properties.getProperty("mail.host") == null) { // Prevent an UnknownHostException in Java 7 properties.put("mail.host", NetUtils.getLocalHostname()); } if (null != data.host) { properties.put(prefix + ".host", data.host); } if (data.port > 0) { properties.put(prefix + ".port", String.valueOf(data.port)); } final Authenticator authenticator = buildAuthenticator(data.username, data.password); if (null != authenticator) { properties.put(prefix + ".auth", "true"); } final Session session = Session.getInstance(properties, authenticator); session.setProtocolForAddress("rfc822", data.protocol); session.setDebug(data.isDebug); return new SmtpManager(name, session, null, data); }