diff --git a/app/src/main/java/eu/faircode/email/EntityRule.java b/app/src/main/java/eu/faircode/email/EntityRule.java index 79fbfd08fc..a31f55b3d8 100644 --- a/app/src/main/java/eu/faircode/email/EntityRule.java +++ b/app/src/main/java/eu/faircode/email/EntityRule.java @@ -825,17 +825,19 @@ public class EntityRule { Address[] from = new InternetAddress[]{new InternetAddress(identity.email, identity.name, StandardCharsets.UTF_8.name())}; // Prevent loop - List messages = db.message().getMessagesByThread( - message.account, message.thread, null, null); - for (EntityMessage threaded : messages) - if (!threaded.id.equals(message.id) && - MessageHelper.equal(threaded.from, from)) { - EntityLog.log(context, EntityLog.Type.Rules, message, - "Answer loop" + - " name=" + answer.name + - " from=" + MessageHelper.formatAddresses(from)); - return; - } + if (isReply) { + List messages = db.message().getMessagesByThread( + message.account, message.thread, null, null); + for (EntityMessage threaded : messages) + if (!threaded.id.equals(message.id) && + MessageHelper.equal(threaded.from, from)) { + EntityLog.log(context, EntityLog.Type.Rules, message, + "Answer loop" + + " name=" + answer.name + + " from=" + MessageHelper.formatAddresses(from)); + return; + } + } EntityMessage reply = new EntityMessage(); reply.account = message.account;