Back to connecting to host name

pull/176/head
M66B 5 years ago
parent 508cbf1dc3
commit dca633710f

@ -360,17 +360,13 @@ public class EmailService implements AutoCloseable {
private void connect( private void connect(
String host, int port, String user, String password, String host, int port, String user, String password,
SSLSocketFactoryService factory) throws MessagingException { SSLSocketFactoryService factory) throws MessagingException {
InetAddress main = null;
try { try {
//if (BuildConfig.DEBUG) //if (BuildConfig.DEBUG)
// throw new MailConnectException( // throw new MailConnectException(
// new SocketConnectException("Debug", new IOException("Test"), host, port, 0)); // new SocketConnectException("Debug", new IOException("Test"), host, port, 0));
main = InetAddress.getByName(host); EntityLog.log(context, "Connecting to " + host);
EntityLog.log(context, "Connecting to " + main); _connect(host, port, user, password, factory);
_connect(main.getHostAddress(), port, user, password, factory);
} catch (UnknownHostException ex) {
throw new MessagingException("Unknown host " + host, ex);
} catch (MessagingException ex) { } catch (MessagingException ex) {
boolean ioError = false; boolean ioError = false;
Throwable ce = ex; Throwable ce = ex;
@ -383,8 +379,10 @@ public class EmailService implements AutoCloseable {
} }
if (ioError) { if (ioError) {
EntityLog.log(context, "Connect ex=" + ex.getMessage());
try { try {
// Some devices resolve IPv6 addresses while not having IPv6 connectivity // Some devices resolve IPv6 addresses while not having IPv6 connectivity
InetAddress main = InetAddress.getByName(host);
InetAddress[] iaddrs = InetAddress.getAllByName(host); InetAddress[] iaddrs = InetAddress.getAllByName(host);
boolean ip4 = (main instanceof Inet4Address); boolean ip4 = (main instanceof Inet4Address);
boolean ip6 = (main instanceof Inet6Address); boolean ip6 = (main instanceof Inet6Address);

Loading…
Cancel
Save