Added setting to prefer IPv4 addresses

This commit is contained in:
M66B
2019-07-26 17:57:40 +02:00
parent 7618845a39
commit 2b8ec3d342
5 changed files with 50 additions and 9 deletions

View File

@@ -20,10 +20,13 @@ package eu.faircode.email;
*/
import android.content.Context;
import android.content.SharedPreferences;
import android.net.MailTo;
import android.text.TextUtils;
import android.webkit.MimeTypeMap;
import androidx.preference.PreferenceManager;
import com.sun.mail.util.FolderClosedIOException;
import com.sun.mail.util.MessageRemovedIOException;
@@ -86,7 +89,7 @@ public class MessageHelper {
static final int DEFAULT_ATTACHMENT_DOWNLOAD_SIZE = 256 * 1024; // bytes
static void setSystemProperties() {
static void setSystemProperties(Context context) {
System.setProperty("mail.mime.decodetext.strict", "false");
System.setProperty("mail.mime.ignoreunknownencoding", "true"); // Content-Transfer-Encoding
@@ -99,6 +102,12 @@ public class MessageHelper {
// https://docs.oracle.com/javaee/6/api/javax/mail/internet/MimeMultipart.html
System.setProperty("mail.mime.multipart.ignoremissingboundaryparameter", "true"); // javax.mail.internet.ParseException: In parameter list
System.setProperty("mail.mime.multipart.ignoreexistingboundaryparameter", "true");
// https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean prefer_ip4 = prefs.getBoolean("prefer_ip4", false);
Log.i("Prefer ip4=" + prefer_ip4);
System.setProperty("java.net.preferIPv4Stack", Boolean.toString(prefer_ip4));
}
static Properties getSessionProperties(String realm, boolean insecure) {
@@ -194,11 +203,6 @@ public class MessageHelper {
props.put("mail.mime.allowutf8", "false"); // SMTPTransport, MimeMessage
props.put("mail.mime.address.strict", "false");
if (false) {
Log.i("Prefering IPv4");
System.setProperty("java.net.preferIPv4Stack", "true");
}
return props;
}