mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-16 14:35:04 -05:00
Fix automatic authentication method selection for SMTP
Only use automatic authentication method selection if none was explicitly selected in outgoing server settings.
This commit is contained in:
parent
e8a1a9a466
commit
037b0ff64d
@ -233,6 +233,9 @@ public class SmtpTransport extends Transport {
|
||||
boolean useAuthPlain = AUTH_PLAIN.equals(mAuthType);
|
||||
boolean useAuthCramMD5 = AUTH_CRAM_MD5.equals(mAuthType);
|
||||
|
||||
// Automatically choose best authentication method if none was explicitly selected
|
||||
boolean useAutomaticAuth = !(useAuthLogin || useAuthPlain || useAuthCramMD5);
|
||||
|
||||
boolean authLoginSupported = false;
|
||||
boolean authPlainSupported = false;
|
||||
boolean authCramMD5Supported = false;
|
||||
@ -259,19 +262,19 @@ public class SmtpTransport extends Transport {
|
||||
|
||||
if (mUsername != null && mUsername.length() > 0 &&
|
||||
mPassword != null && mPassword.length() > 0) {
|
||||
if (useAuthCramMD5 || authCramMD5Supported) {
|
||||
if (useAuthCramMD5 || (useAutomaticAuth && authCramMD5Supported)) {
|
||||
if (!authCramMD5Supported && K9.DEBUG && K9.DEBUG_PROTOCOL_SMTP) {
|
||||
Log.d(K9.LOG_TAG, "Using CRAM_MD5 as authentication method although the " +
|
||||
"server didn't advertise support for it in EHLO response.");
|
||||
}
|
||||
saslAuthCramMD5(mUsername, mPassword);
|
||||
} else if (useAuthPlain || authPlainSupported) {
|
||||
} else if (useAuthPlain || (useAutomaticAuth && authPlainSupported)) {
|
||||
if (!authPlainSupported && K9.DEBUG && K9.DEBUG_PROTOCOL_SMTP) {
|
||||
Log.d(K9.LOG_TAG, "Using PLAIN as authentication method although the " +
|
||||
"server didn't advertise support for it in EHLO response.");
|
||||
}
|
||||
saslAuthPlain(mUsername, mPassword);
|
||||
} else if (useAuthLogin || authLoginSupported) {
|
||||
} else if (useAuthLogin || (useAutomaticAuth && authLoginSupported)) {
|
||||
if (!authPlainSupported && K9.DEBUG && K9.DEBUG_PROTOCOL_SMTP) {
|
||||
Log.d(K9.LOG_TAG, "Using LOGIN as authentication method although the " +
|
||||
"server didn't advertise support for it in EHLO response.");
|
||||
|
Loading…
Reference in New Issue
Block a user