diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index 864a27f612..09147a1ae0 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -1011,11 +1011,22 @@ public class EntityRule { boolean attached = jargs.optBoolean("attached"); boolean attachments = jargs.optBoolean("attachments"); - if (TextUtils.isEmpty(to) && - message.auto_submitted != null && message.auto_submitted) { - EntityLog.log(context, EntityLog.Type.Rules, message, - "Auto submitted rule=" + name); - return false; + if (TextUtils.isEmpty(to)) { + if (Boolean.TRUE.equals(message.auto_submitted)) { + EntityLog.log(context, EntityLog.Type.Rules, message, "Auto submitted rule=" + name); + return false; + } + + Address[] recipients = (message.reply == null || message.reply.length == 0 ? message.from : message.reply); + if (recipients.length == 0) { + EntityLog.log(context, EntityLog.Type.Rules, message, "No recipients rule=" + name); + return false; + } + + if (MessageHelper.isNoReply(recipients)) { + EntityLog.log(context, EntityLog.Type.Rules, message, "No-reply rule=" + name); + return false; + } } boolean complete = true; diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 06fb2b0e7e..3344bb615b 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -5885,6 +5885,10 @@ public class MessageHelper { return false; } + static boolean isNoReply(Address[] addresses) { + return (addresses != null && isNoReply(Arrays.asList(addresses))); + } + static boolean isNoReply(@NonNull List
addresses) { for (Address address : addresses) if (isNoReply(address))