Author submission emails and registration mails not working

Hi.

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.

https://pkp.sfu.ca/support/forum/viewtopic.php?t=14344

Any suggestions?

Julian

Hi @chomedey,

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

Thanks for this reply.

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.

Much appreciated.

Julian

It sounds like the reply to is malformed as an empty address. I think this is likely associated with a recent fix:

Can you try patching lib/pkp/classes/mail/Mail.inc.php to see if this addresses the issue?

I would dearly love to do as you suggest but unfortunately I do not know how to.

Could I bother you for just a bit more information on how to do this i.e. where do I put the code that you link to?

Julian

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.

@@ -353,7 +353,7 @@ function getReplyTo() {
 	 */
 	function getReplyToString($send = false) {
 		$replyTo = $this->getReplyTo();
-		if ($replyTo == null) {
+		if (!array_key_exists('email', $replyTo) || $replyTo['email'] == null) {
 			return null;
 		} else {
 			return (Mail::encodeDisplayName($replyTo['name'], $send) . ' <'.$replyTo['email'].'>');

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.

1 Like

You are brilliant. That worked.

Thanks very much!

Julian

1 Like

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.

Any ideas?

Julian

What roles (admin, journal manager, editor, etc) are assigned to your account?

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

I think the addition of the Editor role will provide you with the (new) notifications you are wanting from here out. Reply back if it does not.

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

Hi @PeterFrance,

Which of our software are you using, and what version?

Regards,
Alec Smecher
Public Knowledge Project Team

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!

Peter

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

Hi @elibugler,

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.

Eli

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.

Hi Alex,

Again, many thanks for your support.

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?

Eli