Prevent reply to self

This commit is contained in:
M66B 2019-05-29 16:03:00 +02:00
parent 763c4201f2
commit 025bbc219c
2 changed files with 12 additions and 8 deletions

View File

@ -160,10 +160,19 @@ public class EntityMessage implements Serializable {
return sb.toString();
}
boolean replySelf(String via) {
Address[] replying = (reply == null || reply.length == 0 ? from : reply);
if (replying == null || replying.length != 1)
return false;
String recipient = MessageHelper.canonicalAddress(((InternetAddress) replying[0]).getAddress());
return recipient.equals(via);
}
Address[] getAllRecipients(String via) {
List<Address> addresses = new ArrayList<>();
if (to != null)
if (!replySelf(via) && to != null)
addresses.addAll(Arrays.asList(to));
if (cc != null)

View File

@ -2050,16 +2050,11 @@ public class FragmentCompose extends FragmentBase {
draft.to = ref.receipt_to;
else {
// Prevent replying to self
String to = null;
Address[] replying = (ref.reply == null || ref.reply.length == 0 ? ref.from : ref.reply);
if (replying != null && replying.length == 1)
to = MessageHelper.canonicalAddress(((InternetAddress) replying[0]).getAddress());
if (to != null && to.equals(via)) {
if (ref.replySelf(via)) {
draft.to = ref.to;
draft.from = ref.from;
} else
draft.to = replying;
draft.to = (ref.reply == null || ref.reply.length == 0 ? ref.from : ref.reply);
}
if ("reply_all".equals(action))