Unauthenticated email is not accepted due to domain's DMARC policy

Email to users are returned with following error. Any help??

Gmail error

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

sajidakeel@gmail.com
host gmail-smtp-in.l.google.com [74.125.198.26]
SMTP error from remote mail server after end of data:
550-5.7.1 Unauthenticated email from yahoo.com is not accepted due to domain’s
550-5.7.1 DMARC policy. Please contact the administrator of yahoo.com domain if
550-5.7.1 this was a legitimate mail. Please visit
550-5.7.1 Control unauthenticated mail from your domain - Gmail Help to learn about the
550 5.7.1 DMARC initiative. 189si3912328oig.187 - gsmtp

Yahoo error

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

sajidakeel@yahoo.com
host mta7.am0.yahoodns.net [98.136.216.25]
SMTP error from remote mail server after end of data:
554 5.7.9 Message not accepted for policy reasons. See https://help.yahoo.com/kb/postmaster/SLN7253.html

Hi @sajidakeel,

Have you reviewed the other threads about DMARC policy? There’s at least one specifically about Yahoo SMTP: OJS and Yahoo/AOL DMARC (2.4.3)

Regards,
Alec Smecher
Public Knowledge Project Team

I tried almost everything i can. Using built in mail function, setting up stmp in configuration file, surfing net for possible answers but nothing helped. Not a single email is delivered. Even request to rest password is rejected by yahoo and google.

Hi @sajidakeel,

This means that OJS is properly configured to deliver emails, but that Yahoo as a recipient is rejecting the messages. I suspect you’ll have to work with your domain configuration, so that Yahoo’s queries to your domain to verify that the messages are valid are answered affirmatively. However, I’m not an expert in DMARC so you may need to do some additional reading/research.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi. I use ojs 3.1.1.0 and I problem with dmarc and reply-to in ojs. Example errors:

host mta5.am0.yahoodns.net[66.218.85.139] said:
554 5.7.9 Message not accepted for policy reasons. See
https://help.yahoo.com/kb/postmaster/SLN7253.html (in reply to end of DATA
command)

host gmail-smtp-in.l.google.com[64.233.186.27]
said: 550-5.7.1 Unauthenticated email from yahoo.com.ar is not accepted due
to 550-5.7.1 domain’s DMARC policy. Please contact the administrator of
550-5.7.1 yahoo.com.ar domain if this was a legitimate mail. Please visit
550-5.7.1 Control unauthenticated mail from your domain - Gmail Help to learn about
the 550 5.7.1 DMARC initiative. s5-v6si53428qve.21 - gsmtp (in reply to end
of DATA command)

host mta7.am0.yahoodns.net[74.6.137.63] said: 554
5.7.9 Message not accepted for policy reasons. See
https://help.yahoo.com/kb/postmaster/SLN7253.html (in reply to end of DATA
command)

  1. etc.

My config.inc.php

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

[email]

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

; SMTP server settings
smtp_server = smtp.edu.ar
smtp_port = 99

; 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 = Off

; Default envelope sender to use if none is specified elsewhere
default_envelope_sender = correo@edu.ar

; Force the default envelope sender (if present)
; This is useful if setting up a site-wide noreply address
; The reply-to field will be set with the reply-to or from address.
force_default_envelope_sender = On

how should I configure ojs to solve this?

Regards
Cristian

Hi @cristianviza,

I don’t think there’s anything within OJS you can use to resolve this – it’s a matter of configuration of the various email servers in question (Yahoo, Google, and smtp.edu.ar).

Regards,
Alec Smecher
Public Knowledge Project Team

Thank you. I have already figured out a solution to this problem.

Would you be so kind and explain how did you resolved the problem
I have the same issue :frowning:

Hi @sajidakeel ,
How you solved the problem with sending mail? I have got the same problems but technical support from provider cannot help me. Gave me answer that it is to OJS configuration.
Thanks.

First of all understand the problem!

Problem: When we use a yahoo or gmail or some other email address as a sender (say sajidakeel@yahoo.com), the OJS system pretends that the mail has been originally sent from yahoo.com domain, which is not the case! Yahoo and all other standards mail recipients will rejects such email because of so called DMARC policy, which needs its digital contents to match with the originally sending domain(s).

Solution: Simple! use an email address from your own domain (say sajidakeel**@newjournals.com**). The issue is resolved.

Note! better to do a clean install! completely remove any previous version of OJS and give your own email address during site configuration. Alternatively you can edit the email address in the site settings too!

Hi @sajidakeel ,

Thank you for answer and your advice. Yes, it is logically. I manage Email settings in config.inc.php in
[email]

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

; SMTP server settings
smtp_server = smtp.domain of journal
smtp_port = outgoing port of provider

; Enable SMTP authentication
; Supported mechanisms: ssl, tls
; smtp_auth = ssl
; smtp_username = username
; smtp_password = password

After managing all receive back mail>

This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

xxxxx@gmail.com
host gmail-smtp-in.l.google.com [64.233.167.27]
SMTP error from remote mail server after end of data:
550-5.7.1 Unauthenticated email from yahoo.com is not accepted due to domain’s
550-5.7.1 DMARC policy. Please contact the administrator of yahoo.com domain if
550-5.7.1 this was a legitimate mail. Please visit
550-5.7.1 https://support.google.com/mail/answer/2451690 to learn about the
550 5.7.1 DMARC initiative. n68si1414460wmn.42 - gsmtp

From technical support, from provider, advice me to contact technical support of OJS. I feel as tennis player.:rofl:

Regards,
Lazar

550-5.7.1 Unauthenticated email from yahoo.com is not accepted due to domain’s DMARC policy. Please contact the administrator of yahoo.com domain if this was a legitimate mail. Please visit

This is the problem! Your SMTP is working perfectly! You are using yahoo email as Editor or journal contact. You need to change the admin email of journal to your own domain instead of yahoo email address! OJS is sending using that admin email (yahoo) as a sender!

What email are you using during journal setup after successful installation!

I suggest you to turn off SMTP and use builtin mail() function. Use your own email address as sender like planta@yourdimain.com in site setting of that particular journal.

Note: This is to be stup within OJS not in the config file.

Unbelievable. So easy. Thank you so much. I tried a lot of combination. But, when I change my mail in profile of Editor in chief everything passed.
So simply but so complex.
Thank you again @sajidakeel
Regards,
Lazar

Most welcome! Its very easy! Told you!

All emails are sent on behalf of chief editor! So if we use any email address other than our own domain! The email will be rejected because of DMARC policy!

Note that this will only fix mail sent from your user. If another editor uses an email address from a different domain, mail that user sends will be flagged the same way.

The way to fix this for all users is to force OJS to not send email as the user, but rather as an “envelope_sender” which you specify in config.inc.php. Currently, at minimum, all of the following settings would need to be configured to override the default sender for all messages:

Hmmm… It is true. But what changes concrete to do? To many messages on forums, to many explanation and just sajidakeel message gave me results.
In classic settings received error, for this>

[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

Where to insert specific mail for all other editors? Earlier everything works very well. Now, on OJS 3.1.2 have problem with sending mails.

Regards,
Lazar

Just below that in your 3.1.2 config.inc.php, you should have the settings regarding the envelope sender.

To make OJS use a single sender for all mail, you must turn on:

  • allow_enveloper_sender
  • force_default_envelope_sender
  • force_dmarc_compliant_from

And then set default_envelope_sender to be an address which is within your domain.

These settings are independent of whether you are using SMTP or the local PHP mail() function.

1 Like

Hi @ctgraham ,

For now works. Thanks. I did not find * force_dmarc_compliant_from and I added it manually and put ON. Tested on few mails and working.

Thanks.
Lazar