diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7305459fcd..aa5cc2d1bb 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -4951,17 +4951,27 @@ public class AdapterMessage extends RecyclerView.Adapter 0)) { + String sender = ((InternetAddress) message.from[0]).getAddress(); + String name = MessageHelper.formatAddresses(new Address[]{message.from[0]}); + + if (block_domain) { + int at = sender.indexOf('@'); + if (at > 0) + sender = sender.substring(at); } + JSONObject jsender = new JSONObject(); + jsender.put("value", sender); + jsender.put("regex", false); + + JSONObject jcondition = new JSONObject(); + jcondition.put("sender", jsender); + + JSONObject jaction = new JSONObject(); + jaction.put("type", EntityRule.TYPE_MOVE); + jaction.put("target", junk.id); + + EntityRule rule = new EntityRule(); + rule.folder = message.folder; + rule.name = context.getString(R.string.title_block, name); + rule.order = 1000; + rule.enabled = true; + rule.stop = true; + rule.condition = jcondition.toString(); + rule.action = jaction.toString(); + rule.id = db.rule().insertRule(rule); + } db.setTransactionSuccessful(); } finally { diff --git a/app/src/main/res/layout/dialog_junk.xml b/app/src/main/res/layout/dialog_junk.xml index bc2f73e39d..5636d6070f 100644 --- a/app/src/main/res/layout/dialog_junk.xml +++ b/app/src/main/res/layout/dialog_junk.xml @@ -21,7 +21,7 @@ app:layout_constraintTop_toTopOf="parent" /> + + + app:layout_constraintTop_toBottomOf="@+id/cbBlockDomain" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 057d1a1067..247c00de43 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -87,6 +87,7 @@ Block %1$s Block sender + Block sender domain Blocking a sender will create a rule to automatically move future messages to the spam folder. Creating and using rules is a pro feature.