mirror of https://github.com/M66B/FairEmail.git
Prevent bouncing to recipients
This commit is contained in:
parent
d0d0960f1f
commit
89393d0299
|
@ -3612,8 +3612,6 @@ public class FragmentCompose extends FragmentBase {
|
||||||
} else if (EntityMessage.DSN_HARD_BOUNCE.equals(dsn)) {
|
} else if (EntityMessage.DSN_HARD_BOUNCE.equals(dsn)) {
|
||||||
if (ref.return_path != null)
|
if (ref.return_path != null)
|
||||||
data.draft.to = ref.return_path;
|
data.draft.to = ref.return_path;
|
||||||
else if (BuildConfig.DEBUG)
|
|
||||||
data.draft.to = ref.from;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Prevent replying to self
|
// Prevent replying to self
|
||||||
|
|
|
@ -2421,14 +2421,29 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
boolean experiments = prefs.getBoolean("experiments", false);
|
boolean experiments = prefs.getBoolean("experiments", false);
|
||||||
|
|
||||||
|
boolean canBounce = false;
|
||||||
|
if (message.return_path != null && message.return_path.length == 1) {
|
||||||
|
canBounce = true;
|
||||||
|
List<Address> addresses = new ArrayList<>();
|
||||||
|
if (message.to != null)
|
||||||
|
addresses.addAll(Arrays.asList(message.to));
|
||||||
|
if (message.cc != null)
|
||||||
|
addresses.addAll(Arrays.asList(message.cc));
|
||||||
|
if (message.bcc != null)
|
||||||
|
addresses.addAll(Arrays.asList(message.bcc));
|
||||||
|
for (Address address : addresses)
|
||||||
|
if (MessageHelper.equalEmail(address, message.return_path[0])) {
|
||||||
|
canBounce = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(context, getViewLifecycleOwner(), anchor);
|
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(context, getViewLifecycleOwner(), anchor);
|
||||||
popupMenu.inflate(R.menu.popup_reply);
|
popupMenu.inflate(R.menu.popup_reply);
|
||||||
popupMenu.getMenu().findItem(R.id.menu_reply_to_all).setVisible(recipients.length > 0);
|
popupMenu.getMenu().findItem(R.id.menu_reply_to_all).setVisible(recipients.length > 0);
|
||||||
popupMenu.getMenu().findItem(R.id.menu_reply_list).setVisible(message.list_post != null);
|
popupMenu.getMenu().findItem(R.id.menu_reply_list).setVisible(message.list_post != null);
|
||||||
popupMenu.getMenu().findItem(R.id.menu_reply_receipt).setVisible(message.receipt_to != null);
|
popupMenu.getMenu().findItem(R.id.menu_reply_receipt).setVisible(message.receipt_to != null);
|
||||||
popupMenu.getMenu().findItem(R.id.menu_reply_hard_bounce)
|
popupMenu.getMenu().findItem(R.id.menu_reply_hard_bounce).setVisible(experiments && canBounce);
|
||||||
.setVisible(experiments && (BuildConfig.DEBUG ||
|
|
||||||
(message.return_path != null && message.return_path.length > 0)));
|
|
||||||
popupMenu.getMenu().findItem(R.id.menu_new_message).setVisible(to != null && to.length > 0);
|
popupMenu.getMenu().findItem(R.id.menu_new_message).setVisible(to != null && to.length > 0);
|
||||||
popupMenu.getMenu().findItem(R.id.menu_reply_answer).setVisible(answers != 0 || !ActivityBilling.isPro(context));
|
popupMenu.getMenu().findItem(R.id.menu_reply_answer).setVisible(answers != 0 || !ActivityBilling.isPro(context));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue