Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Messages are still delivered when all the users are in error #1412

Open
pilou- opened this issue Jun 8, 2022 · 3 comments
Open

Messages are still delivered when all the users are in error #1412

pilou- opened this issue Jun 8, 2022 · 3 comments

Comments

@pilou-
Copy link

pilou- commented Jun 8, 2022

Version

6.2.60~dfsg-4 (Debian bullseye)

Installation method

Debian bullseye

Expected behavior

  • Either the messages sent to a list should not be delivered when all the users of the lists are in error
  • or notifications (to the sender and to listmaster) stating that a message hasn't been delivered should not be sent when the message has actually been sent

Actual behavior

When all the users of a list are in error, two notifications are sent: one to the sender, one to listmaster. Both notifications state that the message hasn't been delivered but the message is actually delivered:

# Bounce rate.
my $rate = $list->get_total_bouncing() * 100 / $total;
if ($rate > $list->{'admin'}{'bounce'}{'warn_rate'}) {
$list->send_notify_to_owner('bounce_rate', {'rate' => $rate});
if (100 <= $rate) {
Sympa::send_notify_to_user($list, 'hundred_percent_error',
$message->{sender});
Sympa::send_notify_to_listmaster($list,
'hundred_percent_error', {sender => $message->{sender}});
}
}

@ikedas
Copy link
Member

ikedas commented Jun 9, 2022

Hi @pilou- ,

Either the messages sent to a list should not be delivered when all the users of the lists are in error

This is not true. Because, even if message delivery to all subscribers reported error (bouncing), Sympa (at least for a while) will not stop trying to send messages to the subscribers.

Logically, the subscriber who has been reported error (the bouncer) can not receive the message at that time. However, it is possible that the error will be recovered afterward. So, Sympa will continue to try sending any new posts to the subscribers, and if the bouncer doesn't report errors anymore for a whle (e.g. seven days or so), Sympa will reset the error for that subscriber.

You (the list owner) may reset errors manually. And you may configure the list so that the bouncers with no hope of recovery are automatically removed from the list (See also "Bounce management").

So,

or notifications (to the sender and to listmaster) stating that a message hasn't been delivered should not be sent when the message has actually been sent

Indeed, a description "Your message to list %1 could not be delivered." may not be strictly true: Some subscribers who have recovered error may receive the message for now. However, succeeding description "All the subscribers to this list have their address in error." is nearly true: All or most of subscribers may not receive the message sent by Sympa.

@ikedas ikedas added the question label Jun 9, 2022
@pilou-
Copy link
Author

pilou- commented Jun 9, 2022

Hello :) !

Either the messages sent to a list should not be delivered when all the users of the lists are in error

This is not true. Because, even if message delivery to all subscribers reported error (bouncing), Sympa (at least for a while) will not stop trying to send messages to the subscribers.

Yes: I wasn't describing a behavior but an expected one (from the sender point of view) due to the Your message to list %1 could not be delivered. message received by the sender.

Logically, the subscriber who has been reported error (the bouncer) can not receive the message at that time. However, it is possible that the error will be recovered afterward.

In the described use case, the sender isn't a member of the list. All the members of the list are in error since a few hours only.

So, Sympa will continue to try sending any new posts to the subscribers, and if the bouncer doesn't report errors anymore for a whle (e.g. seven days or so), Sympa will reset the error for that subscriber.

Yes, the bounce score is ignored if the number of received bounces is lower than minimum_bouncing_count or the bouncing period is shorter than minimum_bouncing_period (doc)

You (the list owner) may reset errors manually. And you may configure the list so that the bouncers with no hope of recovery are automatically removed from the list (See also "Bounce management").

So,

or notifications (to the sender and to listmaster) stating that a message hasn't been delivered should not be sent when the message has actually been sent

Indeed, a description "Your message to list %1 could not be delivered." may not be strictly true: Some subscribers who have recovered error may receive the message for now. However, succeeding description "All the subscribers to this list have their address in error." is nearly true: All or most of subscribers may not receive the message sent by Sympa.

Should not the sender be notified only when the bounce score is really evaluated (in regard of minimum_bouncing_count and minimum_bouncing_period)?

Thank you for your time and patience!

@ikedas
Copy link
Member

ikedas commented Jun 10, 2022

Should not the sender be notified only when the bounce score is really evaluated (in regard of minimum_bouncing_count and minimum_bouncing_period)?

I think your suggestion is very useful. These parameters should be taken into account when notifying "100% errors".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants