The registration emails and review requests are not being sent to Gmail, Hotmail, Yahoo accounts

Describe the issue or problem
The registration emails and review requests are not being sent to reviewers who are using public domain email addresses such as Gmail, Hotmail, and Yahoo. However, other email addresses normally receive the registration email and review request.

Steps I took leading up to the issue
We noticed that the system normally confirms that the reviewers were notified, but when we contacted the reviewers manually, they told us that they did not receive the registration email or the review request. So, we have tested sending the emails using a Test paper and we concluded that all the emails to Gmail, Yahoo, and Hotmail accounts were not sent. Could you please give me a hint of why this problem occurs so that I can resolve it?

What application are you using?
OJS 3.4.0.8

Additional information
Please add any screenshots, logs or other information we can use to investigate this problem.

Hi @Mohamed_Abdelrazek,

As a starting point, I would recommend reviewing the deployment and troubleshooting recommendations found here: https://docs.pkp.sfu.ca/admin-guide/en/deploy-email

If you look at your logs as well and are able to find specific problems, feel free to share them here on the thread.

-Roger
PKP Team

Hi @rcgillis ,
Thank you for your assistance here. I have been investigating that issue and recently I received this feedback from the web hosting provider:

"I checked the SPF, DKIM, and DMARC records and they are updated correctly. After digging further, the problem is your script is using 127.0.0.1 as its source IP, which is basically blocked by our outbound email filter.

The log of the email that was removed by the fighspamHG filter showed the host information as “H=box2092.bluehost.com ([127.0.0.1])” in this instance. The filter was being activated because, for some reason, your script was retrieving the host as localhost [127.0.0.1].

In this case, you will need to modify your script to make sure it was retrieving the correct IP address rather than the local host."

So, do you think that this is the reason of getting my email notifications blocked? And if so, how I can fix it, please.

I look forward to hearing from you.

Best regards,

Mohamed

Hi @rcgillis ,

I received some additional information from the hosting provider which may help you give me the right advice on how to fix the problem. They stated the following:

"I have reviewed the case and I understand that emails sent from your website are not delivering to the recipient. I have checked the mail logs and found that emails are getting rejected in our server filter because the emails are sent with mail HELO as localhost (127.0.0.1).

The problem is with mail HELO is using 127.0.0.1. In HELO should be the server host name box2092.bluehost.com or the server IP 50.87.248.23 instead localhost [127.0.0.1]. You will need to change the mail HELO in your email script or application settings.

I checked your mail script and I see the script is already authenticating via SMTP but something is not properly configured. The script that is responsible for sending the emails may need to be updated to ensure that 127.0.0.1 is not being used as the host. However, unfortunately we would not be able to provide any information about the specific script that would require updates, as we are not familiar with how your application is built and/or configured."

Please advise on how to resolve this issue.

Best regards,

Mohamed

Hi @Mohamed_Abdelrazek,

Thanks for the additional information. This is out of my area of expertise, but I’ll see if another one of our team members can advise when they are available.

-Roger
PKP Team

Hi @Mohamed_Abdelrazek,

Review your config.inc.php configuration file and make sure it doesn’t still reference localhost in one of the URL settings.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,

Thank you for your response. “Localhost” in the config.inc.php is mentioned twice:

1 - in the Database Settings:
;;;;;;;;;;;;;;;;;;;;;
; Database Settings ;
;;;;;;;;;;;;;;;;;;;;;

[database]

driver = mysqli
host = localhost

2- in the Cache Settings

;;;;;;;;;;;;;;;;;;
; Cache Settings ;
;;;;;;;;;;;;;;;;;;
; Enable memcache support
memcache_hostname = localhost
memcache_port = 11211

Please advise which one I should change to resolve this issue.

Best regards,

Mohamed

Hi @Mohamed_Abdelrazek,

Neither of those settings will be the problem. (You should probably disable memcache support, though – it’s probably not helping, and may cause other problems.)

Are you using an SMTP configuration? If not, maybe you should try one; if you are, what is the smtp_server?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,
Thank you for your response.

Yes, I am using SMTP configuration. The SMTP server and all email settings are as follows:

;;;;;;;;;;;;;;;;;;
; Email Settings ;
;;;;;;;;;;;;;;;;;;

[email]

; Default method to send emails
; Available options: sendmail, smtp, log, phpmailer
default = smtp

; SMTP server settings
smtp_server = mail.rasayely-journals.com
smtp_port = 465

; Use SMTP for sending mail instead of mail()
smtp = On

; Enable SMTP authentication
smtp_auth = ssl
smtp_username = [Admin’s email address]
smtp_password = [Admin’s email password]

; Enable suppressing SSL/TLS peer verification by SMTP transports
; Note: this is not recommended for security reasons
smtp_suppress_cert_check = Off

; Allow envelope sender to be specified
allow_envelope_sender = On

; Default envelope sender to use if none is specified elsewhere
default_envelope_sender = [Admin’s email address]

; Force the default envelope sender (if present)
force_default_envelope_sender = On

; Force a DMARC compliant from header
force_dmarc_compliant_from = On

; The display name to use with a DMARC compliant from header
dmarc_compliant_from_displayname = ‘%n via %s’

; If enabled, email addresses must be validated before login is possible.
require_validation = On

; The number of days a user has to validate their account before their access key expires.
validation_timeout = 14

Please let me know if there are any problems with the email settings configuration.

Best regards,

Mohamed