in log4j-jakarta-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java [386:423]
public SmtpManager createManager(final String name, final FactoryData data) {
final String prefix = "mail." + data.protocol;
final Properties properties = System.getProperties();
properties.setProperty("mail.transport.protocol", data.protocol);
if (properties.getProperty("mail.host") == null) {
// Prevent an UnknownHostException in Java 7
properties.setProperty("mail.host", NetUtils.getLocalHostname());
}
if (null != data.host) {
properties.setProperty(prefix + ".host", data.host);
}
if (data.port > 0) {
properties.setProperty(prefix + ".port", String.valueOf(data.port));
}
final Authenticator authenticator = buildAuthenticator(data.username, data.password);
if (null != authenticator) {
properties.setProperty(prefix + ".auth", "true");
}
if (data.protocol.equals("smtps")) {
final SslConfiguration sslConfiguration = data.sslConfiguration;
if (sslConfiguration != null) {
final SSLSocketFactory sslSocketFactory =
sslConfiguration.getSslContext().getSocketFactory();
properties.put(prefix + ".ssl.socketFactory", sslSocketFactory);
properties.setProperty(
prefix + ".ssl.checkserveridentity", Boolean.toString(sslConfiguration.isVerifyHostName()));
}
}
final Session session = Session.getInstance(properties, authenticator);
session.setProtocolForAddress("rfc822", data.protocol);
session.setDebug(data.isDebug);
return new SmtpManager(name, session, null, data);
}