Problem with e-mail

After updating to 2.4.8.1 system stopped to send e-mails. Does anybody know the problem?

What version did you upgrade from? If you’ve made changes to the email section in config.inc.php, start by reviewing these. Otherwise, there have been a couple of recent changes to the way email is sent. This is going to get technical.

== Begin Technical Excursion

If you upgraded from a version before 2.4.6, email was sent directly “from” the email address specified by the sender’s profile in OJS to the email address specified in the recipient’s profile. This was problematic because you could have myjournal.org sending mail from sender@gmail.com to recipient@yahoo.com. Yahoo could look up the routing on the message, and discovering that gmail.com didn’t explicitly permit sending from myjournal.org, Yahoo could rightfully choose to block or spamtrap the message.

From 2.4.6 to 2.4.8, we attempted to address this by implementing Sender Permitted From (SPF) compliance. This rewrote the From address to be the Journal’s or Site’s principal contact, which presumably would be an address that was allowed to send mail from myjournal.org. The reply-to was set to be the sending user’s address. Thus the mail was sent from journal@myjournal.org, reply-to sender@gmail.com, to recipient@yahoo.com. This made Yahoo happy, because journal@myjournal.org was allowed to send from myjournal.org. No more blocked or spamtrapped messages! This was, however, frustrating for users because some mail clients would then mix up journal@myjournal.org with sender@gmail.com in the recipient’s address book.

In 2.4.8-1, we changed the SPF compliance to allow the sending domain to claim ownership of the message via a “return path” without messing with the from and reply-to headers. Thus the mail could be sent from sender@gmail.com, with a return path of journal@myjournal.org, to recipient@yahoo.com. We thought this would make Yahoo happy and make users happy.

Email is a bit more complicated than just SPF compliance, however. This SPF compliance alone was not enough in my experience to get messages routed from sender@gmail.com to recipient@gmail.com. They would be immediately sent to spam.

A message sent with a valid return path will pass SPF, but may still fail DMARC (which essentially asks, is everyone in this chain playing above board and being as proving that they are?). My experience was that the latest SPF change led to DMARC failures which spamtrapped gmail to gmail messages. There is also an important standard known as DKIM will allows sending servers to sign outgoing messages, claiming responsibility for them. The short story is that so far I’ve found that most major email providers are allowing DMARC failures so long as there is a DKIM signature. DKIM is setup outside of OJS, at the server level.

If compliance with SPF, DMARC and DKIM is all required, this will take careful configuration of both the servers Mail Transport Agent (MTA) and of OJS.

== End Technical Excursion

Check with you hosting provider or system administrator to see what your maillogs report. If mail looks like it is making it off system, check with your hosting provider or system administrator regarding your DKIM setup. If you can get a test message to an account you own or to something like mailinator.com, you can view the SMTP headers to validate whether the message passes SPF, DKIM, and DMARC checks.

The e-mails stopped to work after upgrade from 2.4.8 to 2.4.8.1. Will have to check with hosting provider since we have some limitations concerning “from” settings. Generally smtp blocks all e-mails claiming they are from other domain than the server one.