diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java
index dfaa7de63b..5d3cf85457 100644
--- a/app/src/main/java/eu/faircode/email/Core.java
+++ b/app/src/main/java/eu/faircode/email/Core.java
@@ -3081,17 +3081,20 @@ class Core {
if (message.avatar == null && notify_known && pro)
message.ui_ignored = true;
- // For contact forms
- boolean self = false;
- if (identity != null && message.from != null)
- for (Address from : message.from)
- if (identity.sameAddress(from) || identity.similarAddress(from)) {
- self = true;
- break;
- }
- if (!self) {
- String warning = message.checkReplyDomain(context);
- message.reply_domain = (warning == null);
+ boolean check_reply_domain = prefs.getBoolean("check_reply_domain", true);
+ if (check_reply_domain) {
+ // For contact forms
+ boolean self = false;
+ if (identity != null && message.from != null)
+ for (Address from : message.from)
+ if (identity.sameAddress(from) || identity.similarAddress(from)) {
+ self = true;
+ break;
+ }
+ if (!self) {
+ String warning = message.checkReplyDomain(context);
+ message.reply_domain = (warning == null);
+ }
}
boolean check_mx = prefs.getBoolean("check_mx", false);
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
index a6527ede58..5c3a220d6c 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
@@ -81,6 +81,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
private SwitchCompat swSyncFolders;
private SwitchCompat swSyncSharedFolders;
private SwitchCompat swSubscriptions;
+ private SwitchCompat swCheckReply;
private SwitchCompat swCheckMx;
private SwitchCompat swTuneKeepAlive;
private Group grpExempted;
@@ -91,7 +92,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
"enabled", "poll_interval", "auto_optimize", "schedule", "schedule_start", "schedule_end",
"sync_nodate", "sync_unseen", "sync_flagged", "delete_unseen", "sync_kept", "gmail_thread_id",
"sync_folders", "sync_shared_folders", "subscriptions",
- "check_mx", "tune_keep_alive"
+ "check_reply_domain", "check_mx", "tune_keep_alive"
};
@Override
@@ -134,6 +135,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swSyncFolders = view.findViewById(R.id.swSyncFolders);
swSyncSharedFolders = view.findViewById(R.id.swSyncSharedFolders);
swSubscriptions = view.findViewById(R.id.swSubscriptions);
+ swCheckReply = view.findViewById(R.id.swCheckReply);
swCheckMx = view.findViewById(R.id.swCheckMx);
swTuneKeepAlive = view.findViewById(R.id.swTuneKeepAlive);
grpExempted = view.findViewById(R.id.grpExempted);
@@ -309,6 +311,13 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
}
});
+ swCheckReply.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("check_reply_domain", checked).apply();
+ }
+ });
+
swCheckMx.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -409,6 +418,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swSyncSharedFolders.setChecked(prefs.getBoolean("sync_shared_folders", false));
swSyncSharedFolders.setEnabled(swSyncFolders.isChecked());
swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false));
+ swCheckReply.setChecked(prefs.getBoolean("check_reply_domain", true));
swCheckMx.setChecked(prefs.getBoolean("check_mx", false));
swTuneKeepAlive.setChecked(prefs.getBoolean("tune_keep_alive", true));
}
diff --git a/app/src/main/res/layout/fragment_options_synchronize.xml b/app/src/main/res/layout/fragment_options_synchronize.xml
index 6639bba401..204b47787d 100644
--- a/app/src/main/res/layout/fragment_options_synchronize.xml
+++ b/app/src/main/res/layout/fragment_options_synchronize.xml
@@ -493,6 +493,30 @@
app:layout_constraintTop_toBottomOf="@id/swSyncSharedFolders"
app:switchPadding="12dp" />
+
+
+
+
Synchronize folder list
Synchronize shared folder lists
Manage folder subscriptions
+ Check reply address on synchronizing messages
Check sender email addresses on synchronizing messages
Automatically tune the keep-alive interval
@@ -558,6 +559,7 @@
This will transfer extra data and consume extra battery power, especially if a lot of messages are stored on the device
This only applies to newly received messages and can break existing groups
Disabling this will reduce data and battery usage somewhat, but will disable updating the list of folders too
+ This will check if the domain name of the sender and the reply address are the same
This will check if DNS MX records exist
This will slow down synchronizing messages