|
|
|
@ -75,6 +75,7 @@ import java.util.List;
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
import java.util.Properties;
|
|
|
|
|
|
|
|
|
|
import javax.mail.AuthenticationFailedException;
|
|
|
|
|
import javax.mail.Folder;
|
|
|
|
|
import javax.mail.MessagingException;
|
|
|
|
|
import javax.mail.Session;
|
|
|
|
@ -472,7 +473,15 @@ public class FragmentAccount extends FragmentEx {
|
|
|
|
|
IMAPStore istore = null;
|
|
|
|
|
try {
|
|
|
|
|
istore = (IMAPStore) isession.getStore("imaps");
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
try {
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
} catch (AuthenticationFailedException ex) {
|
|
|
|
|
if (auth_type == Helper.AUTH_TYPE_GMAIL) {
|
|
|
|
|
password = Helper.refreshToken(context, "com.google", user, password);
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
} else
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!istore.hasCapability("IDLE"))
|
|
|
|
|
throw new MessagingException(getContext().getString(R.string.title_no_idle));
|
|
|
|
@ -708,7 +717,15 @@ public class FragmentAccount extends FragmentEx {
|
|
|
|
|
IMAPStore istore = null;
|
|
|
|
|
try {
|
|
|
|
|
istore = (IMAPStore) isession.getStore("imaps");
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
try {
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
} catch (AuthenticationFailedException ex) {
|
|
|
|
|
if (auth_type == Helper.AUTH_TYPE_GMAIL) {
|
|
|
|
|
password = Helper.refreshToken(context, "com.google", user, password);
|
|
|
|
|
istore.connect(host, Integer.parseInt(port), user, password);
|
|
|
|
|
} else
|
|
|
|
|
throw ex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!istore.hasCapability("UIDPLUS"))
|
|
|
|
|
throw new MessagingException(getContext().getString(R.string.title_no_uidplus));
|
|
|
|
|