diff --git a/FAQ.md b/FAQ.md
index afd9f37fc4..9a7e48dd3d 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -2767,9 +2767,7 @@ OAuth for non on-device accounts is not supported
because Google requires a [yearly security audit](https://support.google.com/cloud/answer/9110914) ($15,000 to $75,000) for this.
You can read more about this [here](https://www.theregister.com/2019/02/11/google_gmail_developer/).
-OAuth for Yandex and Yahoo is supported via the quick setup wizard.
-
-OAuth for Office 365 accounts is supported, but Microsoft does not offer OAuth for Outlook, Live and Hotmail accounts (yet?).
+OAuth for Outlook/Office 365, Yahoo, Mail.ru and Yandex is supported via the quick setup wizard.
diff --git a/app/src/main/java/eu/faircode/email/FragmentOAuth.java b/app/src/main/java/eu/faircode/email/FragmentOAuth.java
index d7a9db85cd..bb91621cdf 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOAuth.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOAuth.java
@@ -75,7 +75,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import javax.mail.AuthenticationFailedException;
@@ -104,7 +103,6 @@ public class FragmentOAuth extends FragmentBase {
private TextView tvError;
private TextView tvGmailDraftsHint;
private TextView tvOfficeAuthHint;
- private TextView tvOfficeOutlookHint;
private Button btnSupport;
private Group grpError;
@@ -143,7 +141,6 @@ public class FragmentOAuth extends FragmentBase {
tvError = view.findViewById(R.id.tvError);
tvGmailDraftsHint = view.findViewById(R.id.tvGmailDraftsHint);
tvOfficeAuthHint = view.findViewById(R.id.tvOfficeAuthHint);
- tvOfficeOutlookHint = view.findViewById(R.id.tvOfficeOutlookHint);
btnSupport = view.findViewById(R.id.btnSupport);
grpError = view.findViewById(R.id.grpError);
@@ -688,13 +685,6 @@ public class FragmentOAuth extends FragmentBase {
if ("office365".equals(id)) {
if (ex instanceof AuthenticationFailedException)
tvOfficeAuthHint.setVisibility(View.VISIBLE);
-
- String e = etEmail.getText().toString().toLowerCase(Locale.ROOT);
- if (e.contains("@outlook") ||
- e.contains("@live") ||
- e.contains("@hotmail") ||
- e.contains("@msn"))
- tvOfficeOutlookHint.setVisibility(View.VISIBLE);
}
etName.setEnabled(true);
@@ -715,6 +705,5 @@ public class FragmentOAuth extends FragmentBase {
grpError.setVisibility(View.GONE);
tvGmailDraftsHint.setVisibility(View.GONE);
tvOfficeAuthHint.setVisibility(View.GONE);
- tvOfficeOutlookHint.setVisibility(View.GONE);
}
}
diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java
index a52919c6e5..b18366423f 100644
--- a/app/src/main/java/eu/faircode/email/FragmentSetup.java
+++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java
@@ -182,7 +182,6 @@ public class FragmentSetup extends FragmentBase {
int order = 1;
popupMenu.getMenu().add(Menu.NONE, R.string.title_setup_gmail, order++, R.string.title_setup_gmail);
- popupMenu.getMenu().add(Menu.NONE, R.string.title_setup_outlook, order++, R.string.title_setup_outlook);
for (EmailProvider provider : EmailProvider.loadProfiles(getContext()))
if (provider.oauth != null &&
@@ -194,7 +193,6 @@ public class FragmentSetup extends FragmentBase {
.putExtra("name", provider.name)
.putExtra("askAccount", provider.oauth.askAccount));
- //popupMenu.getMenu().add(Menu.NONE, R.string.title_setup_activesync, order++, R.string.title_setup_activesync);
popupMenu.getMenu().add(Menu.NONE, R.string.title_setup_other, order++, R.string.title_setup_other);
SpannableString ss = new SpannableString(getString(R.string.title_setup_pop3));
@@ -205,6 +203,7 @@ public class FragmentSetup extends FragmentBase {
@Override
public boolean onMenuItemClick(MenuItem item) {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
+
int itemId = item.getItemId();
if (itemId == R.string.title_setup_gmail) {
if (Helper.hasValidFingerprint(getContext()) || BuildConfig.DEBUG)
@@ -212,16 +211,14 @@ public class FragmentSetup extends FragmentBase {
else
ToastEx.makeText(getContext(), R.string.title_setup_gmail_support, Toast.LENGTH_LONG).show();
return true;
- } else if (itemId == R.string.title_setup_activesync) {
- Helper.viewFAQ(getContext(), 133);
- return true;
- } else if (itemId == R.string.title_setup_outlook || itemId == R.string.title_setup_other) {
+ } else if (itemId == R.string.title_setup_other) {
lbm.sendBroadcast(new Intent(ActivitySetup.ACTION_QUICK_SETUP));
return true;
} else if (itemId == R.string.title_setup_pop3) {
lbm.sendBroadcast(new Intent(ActivitySetup.ACTION_QUICK_POP3));
return true;
}
+
if (item.getIntent() == null)
return false;
else {
diff --git a/app/src/main/res/layout/fragment_oauth.xml b/app/src/main/res/layout/fragment_oauth.xml
index db4ba78116..82be0e2bbd 100644
--- a/app/src/main/res/layout/fragment_oauth.xml
+++ b/app/src/main/res/layout/fragment_oauth.xml
@@ -149,17 +149,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvGmailDraftsHint" />
-
-
+ app:layout_constraintTop_toBottomOf="@id/tvOfficeAuthHint" />
Accounts
IdentitiesGmail (OAuth)
- Outlook, Live, Hotmail%1$s (OAuth)
- The email provider has approved OAuth only for official app versions
- Exchange ActiveSyncOther providerPOP3 account
+ The email provider has approved OAuth only for official app versionsAuthorizing Google accounts will work in official versions only because Android checks the app signaturePlease grant permissions to select an account and read your nameGoogle will ask for permissions to read, compose, send and permanently delete all your email. FairEmail will never delete your messages without your explicit consent.If the drafts folder is not accessible by IMAP, this can be fixed in the Gmail label settingsI want to authorize an account with a password
- Microsoft does not provide this type of authorization for Outlook, Live, Hotmail, etc accountsThe error \'AUTHENTICATE failed\' can be caused by IMAP/SMTP being disabled by the system administratorAuthorize access to your %1$s accountAuthorize existing account again
diff --git a/app/src/main/res/xml/providers.xml b/app/src/main/res/xml/providers.xml
index 50bcb4f101..7e8fc04a0b 100644
--- a/app/src/main/res/xml/providers.xml
+++ b/app/src/main/res/xml/providers.xml
@@ -77,7 +77,7 @@
starttls="true" />