Improved error message

pull/214/head
M66B 5 months ago
parent 30a8ed66be
commit 32c4f41cb2

@ -496,6 +496,19 @@ public class ConnectionHelper {
return false;
}
static boolean isAborted(Throwable ex) {
while (ex != null) {
String msg = ex.getMessage();
if (msg != null &&
(msg.contains("Connection reset by peer") ||
msg.contains("Connection closed by peer")))
return true;
ex = ex.getCause();
}
return false;
}
static boolean isMaxConnections(Throwable ex) {
while (ex != null) {
if (isMaxConnections(ex.getMessage()))

@ -37,6 +37,7 @@ import androidx.annotation.NonNull;
import androidx.preference.PreferenceManager;
import com.sun.mail.gimap.GmailSSLProvider;
import com.sun.mail.iap.ConnectionException;
import com.sun.mail.iap.ProtocolException;
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPStore;
@ -592,6 +593,9 @@ public class EmailService implements AutoCloseable {
if (ex.getMessage() != null && ex.getMessage().contains("Command Error. 10"))
throw new AuthenticationFailedException(context.getString(R.string.title_service_error10), ex);
if (ConnectionHelper.isAborted(ex))
throw new MessagingException("The server or network actively aborted the connection", ex);
if (purpose == PURPOSE_CHECK) {
if (port == 995 && !("pop3".equals(protocol) || "pop3s".equals(protocol)))
throw new MessagingException(context.getString(R.string.title_service_port), ex);

Loading…
Cancel
Save