first of all, most of the mails we send are not classified as spam. But since our last update to OJS version 220.127.116.11, we have an increasing problem with outgoing mail being classified as spam.
Two cases occur particularly often: Firstly, mails addressed to reviewers. I estimate the delivery errors at 10 to 20 percent. Secondly, mails that are automatically sent to co-authors, who are not the main contact, after their successful submission of the contribution. These mails are almost always classified as spam. The author who is the main contact however receives his mails without problems.
Sending mails to myself (from journal manager to journal manager) for testing purposes just works fine.
These are our mail settings in the config.inc.php
[email] ; Use SMTP for sending mail instead of mail() ; smtp = On ; SMTP server settings ; smtp_server = mail.example.com ; smtp_port = 25 ; Enable SMTP authentication ; Supported mechanisms: ssl, tls ; smtp_auth = ssl ; smtp_username = username ; smtp_password = password ; Allow envelope sender to be specified ; (may not be possible with some server configurations) allow_envelope_sender = On ; Default envelope sender to use if none is specified elsewhere default_envelope_sender = email@example.com ; Force the default envelope sender (if present) ; This is useful if setting up a site-wide no-reply address ; The reply-to field will be set with the reply-to or from address. force_default_envelope_sender = on ; Force a DMARC compliant from header (RFC5322.From) ; If any of your users have email addresses in domains not under your control ; you may need to set this to be compliant with DMARC policies published by ; those 3rd party domains. ; Setting this will move the users address into the reply-to field and the ; from field wil be rewritten with the default_envelope_sender. ; To use this you must set force_default_enveloper_sender = On and ; default_envelope_sender must be set to a valid address in a domain you own. force_dmarc_compliant_from = on ; The display name to use with a DMARC compliant from header ; By default the DMARC compliant from will have an empty name but this can ; be changed by adding a text here. ; You can use '%n' to insert the users name from the original from header ; and '%s' to insert the localized sitename. ; dmarc_compliant_from_displayname = '%n via %s' ; Amount of time required between attempts to send non-editorial emails ; in seconds. This can be used to help prevent email relaying via OJS. time_between_emails = 3600 ; Maximum number of recipients that can be included in a single email ; (either as To:, Cc:, or Bcc: addresses) for a non-privileged user max_recipients = 10 ; If enabled, email addresses must be validated before login is possible. require_validation = On ; Maximum number of days before an unvalidated account expires and is deleted validation_timeout = 14
The header of mails with delivery errors contains the following information:
A message that you sent was rejected by the local scanning code that checks incoming messages on this system. The following error was given: This message was classified as SPAM and may not be delivered ------ This is a copy of your message, including all the headers. ------ Received: from suburban by cpanel10.xodox.de with local (Exim 4.92) (envelope-from <firstname.lastname@example.org>) id 1j0v0F-00DEZ4-Lb for email@example.com; Sun, 09 Feb 2020 23:24:35 +0100 To: "Prof. Dr. B******* V*****" <firstname.lastname@example.org> Subject: [sub\urban] X-PHP-Script: zeitschrift-suburban.de/sys/index.php/suburban/submission/saveStep/4 for 18.104.22.168 X-PHP-Originating-Script: 1136:PHPMailer.php Date: Sun, 9 Feb 2020 23:24:35 +0100 From: email@example.com Reply-To: "Redaktion sub\\urban" <firstname.lastname@example.org> Message-ID: <bBDevIFVy7nwUiR097PPGiz5O5qYIJUlmZ7rnYsSY@zeitschrift-suburban.de> X-Mailer: Public Knowledge Project Suite v3 X-Originating-IP: 22.214.171.124 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_bBDevIFVy7nwUiR097PPGiz5O5qYIJUlmZ7rnYsSY" This is a multi-part message in MIME format. --b1_bBDevIFVy7nwUiR097PPGiz5O5qYIJUlmZ7rnYsSY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Cg== --b1_bBDevIFVy7nwUiR097PPGiz5O5qYIJUlmZ7rnYsSY Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGJyLz4= --b1_bBDevIFVy7nwUiR097PPGiz5O5qYIJUlmZ7rnYsSY--
These mails do not appear in the email_log table in our database.
How can I solve the errors when sending mails? Do you have any suggestions? Could switching to SMTP possibly fix these delivery errors?