My setup is working great except for this one problem.
When a new user registers, the confirmation email with their username and password does not get sent (or at least it is not being received). I tried it myself, registering two separate user accounts, one with a gmail address and another with a domain address, and neither one received a confirmation email, despite this option being selected at registration.
The same is true for author submission emails.
This is odd as if I send an email directly through the system, by clicking on the little email icon next to a user’s name, and filling out the form, the email comes through just fine.
I saw this (below) on the pkp’s previous forum, and it looks like they had the exact same problem, and it doesn’t look like it was ever resolved.
It’s likely that the message is getting caught up in a spam filter somewhere. That other emails are delivered properly suggests that your OJS installation is correctly configured for mail delivery, but you can confirm by checking your server’s mail sending log. It’s possible that there are details there on why something was rejected, but each server is a little different around these details.
Regards,
Alec Smecher
Public Knowledge Project Team
I did as you suggested and contacted my host to get a read on any server errors.
Here’s what came back:
+++ 1av4fT-0001AW-GX has not completed +++
2016-04-26 09:12:51 1av4fT-0001AW-GX H=(just163.justhost.com) [127.0.0.1]:42599 F=mydeeps1@just163.justhost.com rejected after DATA: syntax error in ‘Reply-To:’ header when scanning for sender: missing or malformed local part in “”" <>"
Any suggestions on how to remedy?
Direct emails are still going through OK. Confirmation emails and author submission emails are not.
The patch describes a one-line change to the file lib/pkp/classes/mail/Mail.inc.php.
If you are not familiar with the patch command (it’s a simple, yet complicated one), you can make the change by hand. If you go this route, you should be comfortable make a change in PHP. If you are not familiar with PHP, it would be good to ask a friend who is.
Around line 353, you would find the line prefixed by the “-”. You want to change it to the line prefixed by the “+” instead. The minus sign and plus sign will not appear in the existing or changed code.
So everything is working great after this fix … except notifications.
Not only do I not get notification emails, even though I’ve selected them, but when I click ‘View notifications’ I see nothing there either, even though I know someone recently submitted something and I can see the file they submitted.
At the time the submission was made it was just Journal Manager. And I had selected every possible notification. I am now enrolled as these other roles too:
Journal Manager
Reviewer
Reader
Subscription Manager
Editor
Hi, I had also the same problem and it seems the solution is described here, but I did not succeed to find the file to be modified ( lib/pkp/classes/mail/Mail.inc.php ).
Someone can tell me where it is?
Thanks, Peter
I use the facilities of Greengeeks where OJS is hosted, but in the
meantime I have found the location of the file I was looking for, I
could modify it and the problem seems to be resolved, thank you very much!
Hi,
I can send direct emails from my journal https://www.teachinganthropology.org/ojs/, to any user. I am running OJS 3.0.1. Submission akcn emails are sent and received no problem. However, notification emails on User registration are not received. I have tried with various email addresses and I have checked the spam boxes. The fix to Mail.inc.php has already been applied. Is there a setting to enable these emails to be sent, please can you direct me if so?
Thanks!
Eli
The best way to debug this is to get access to your mail server’s delivery logs. These should indicate whether the email was delivered successfully, and if not, why not.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi Alex,
Thanks for getting back to me. I checked with my webhost Dreamhost and, they directed me to the mail logs in question, stating:
“If any email that was sent from your web-server failed to be delivered,
the bounce would be recorded here on your web server:
/home/USER/Maildir/new. If this was sent via SMTP, you won’t actually have access to those logs
as they will be for our mail server and not for your specific domain.”
I had a look in the Maildir/new directory and I can see logs of other emails that has bounced (OJS shares domain with a Wordpress install). But no logs of the missing User registration notification.
Now, I am unsure what to do. Does OJS send emails using SMTP? What else can I look for.
OJS sends mail based on the configuration provided in config.inc.php:
If the smtp option is On and is uncommented (no semicolon), and if the smtp_server is defined, OJS will try to use SMTP. Otherwise, mail will be sent with PHP’s mail() function, and the messages will be handled as you provider described.
I have tried switching on SMTP, and I find the same problem occurs: Submission ackn emails are sent but many others are not: User registration and Review request are examples of emails not being sent. I have tested this with test accounts and test reviews to my own emails.
So this indicates to me that it is NEITHER the php mailer NOR outgoing smtp mail server which is the problem.
I have tried re-setting the email templates but no luck.
I wonder if there is a previous (OJS 2) modification to the file system and main contact email which may be causing the problem. Could you direct me to the files where this is set?