diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 0c779a1938..7e994c5d1d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -5583,6 +5583,12 @@ public class FragmentCompose extends FragmentBase { // - receipt // - participation + ref.from = MessageHelper.removeGroups(ref.from); + ref.reply = MessageHelper.removeGroups(ref.reply); + ref.to = MessageHelper.removeGroups(ref.to); + ref.cc = MessageHelper.removeGroups(ref.cc); + ref.bcc = MessageHelper.removeGroups(ref.bcc); + // References if ("reply".equals(action) || "reply_all".equals(action) || "list".equals(action) || diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 3abcd03df8..ec34d5aaaf 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -5487,6 +5487,21 @@ public class MessageHelper { return result.toArray(new InternetAddress[0]); } + static Address[] removeGroups(Address[] addresses) { + if (addresses == null) + return null; + + List
result = new ArrayList<>(); + + for (Address address : addresses) { + if (address instanceof InternetAddress && ((InternetAddress) address).isGroup()) + continue; + result.add(address); + } + + return result.toArray(new Address[0]); + } + static void getStructure(Part part, SpannableStringBuilder ssb, int level, int textColorLink) { try { Enumeration
headers;