From eb4b3ed06a8423722f73a93127f4c92f054c32c9 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 9 Jul 2021 16:34:17 +0200 Subject: [PATCH] Improved check MX error handling --- .../main/java/eu/faircode/email/DnsHelper.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DnsHelper.java b/app/src/main/java/eu/faircode/email/DnsHelper.java index 28394aca18..99df8a7c29 100644 --- a/app/src/main/java/eu/faircode/email/DnsHelper.java +++ b/app/src/main/java/eu/faircode/email/DnsHelper.java @@ -66,7 +66,6 @@ public class DnsHelper { if (domain == null) continue; - boolean found = true; try { SimpleResolver resolver = new SimpleResolver(getDnsServer(context)); resolver.setTimeout(CHECK_TIMEOUT); @@ -75,17 +74,20 @@ public class DnsHelper { lookup.run(); Log.i("Check name=" + domain + " @" + resolver.getAddress() + " result=" + lookup.getResult()); + if (lookup.getResult() == Lookup.SUCCESSFUL) + continue; + + String error = "Error " + lookup.getResult() + ": " + lookup.getErrorString(); if (lookup.getResult() == Lookup.HOST_NOT_FOUND || lookup.getResult() == Lookup.TYPE_NOT_FOUND) - found = false; - else if (lookup.getResult() != Lookup.SUCCESSFUL) - throw new UnknownHostException("DNS error=" + lookup.getErrorString()); + throw new UnknownHostException(error); + else + Log.e(error); + } catch (UnknownHostException ex) { + throw ex; } catch (Throwable ex) { Log.e(ex); } - - if (!found) - throw new UnknownHostException(context.getString(R.string.title_no_server, domain)); } }