Mass email delivery

Let’s attempt to resurrect this post. In our case, we use a third-party mail server that we have no control of, the big bosses insist on mass-mailing announcements each time an issue is published and then some, and I see the following in the SMTP logs:

SERVER → CLIENT: 450 4.2.1 Too many messages from noreply@example.com. Try again later.

We’re on OJS 3.3. Is it possible to introduce some kind of quick and dirty rate limiter into the mailer in this OJS, or it is easier to setup a local postfix (or another MTA) to act as a dumb rate-limiting SMTP relay? How are things in the other OJS versions (3.4, 3.5)?

Hi @voffch,

I’ve moved your post to a new thread, to avoid sending too many notifications to the users involved in the 7-year-old one.

In recent years it seems that email delivery becomes less reliable if you change your emailing behaviour rapidly, e.g. suddenly sending many times more emails than usual. This can cause your domain to get limited or cause email to get flagged as spam more easily. Unfortunately this is exactly the behaviour that new issue announcements mimic.

There is a Mailgun plugin, not officially maintained by PKP, that might serve as a starting point.

Beyond that, OJS does not include rate limiting; if you’re seeing this kind of limiting imposed on your account, you might consider sending your announcements through an outside service.

Unfortunately all of this is quite dependent on the sending server and the receiving domain, so it’s hard to come up with general-purpose solutions. Email spam management is an arms race, and there’s only so much applications like OJS can do to get involved.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

Thanks @asmecher for the detailed answer! I feared as much. It is sad to watch how corporate and malicious spammers are undermining the reliability of email, while it remains truly ubiquitous, “federated” and reasonably secure… but we have to live with what we have.

I guess if we don’t consider external services our best bet is a self-hosted rate-limiting relay.

PS the mailgun plugin is probably this one GitHub - Vitaliy-1/mailgun: An example of OJS 3 plugin to send emails via Mailgun API