Force email sender doesn't work in submission workflow in ojs3.3.0.15

Hi @ctgraham ,I am so sorry to bother you, to be honest, I found many topic in this forum, and I have modifed the principle contact and admin email address to, but the problem still exists. Could you help me to analyze the reasons which results in this?
The detail as below,

  1. login as admin account->add user->send email to notify user->sucess( the new registered users can receive the email from

  2. but , when a submission workflow starts, the all email send function don’t work although there is no error message in website pages. Such as when an editor invites reviewers to review the manuscript, the reviewers don’t receive the emails.

  3. Then I checked the database, I found the email_log has this email-info record. Why the from address is editor email, not the default_envelop_sender ( It likes that the force_envelope_sender doesn’t inforce.

I am looking forwords your help. Thank you so much!

my config.ini.php :

; Email Settings ;


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

; SMTP server settings
smtp_server =
smtp_port = 465

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
smtp_auth = ssl

smtp_username = ""
smtp_password = "authorization code from sina mailbox"

; Supported smtp_authtype: RAM-MD5, LOGIN, PLAIN, XOAUTH2 (see PHPMailer AuthType)
; (Leave blank to try them in that order)
smtp_authtype = LOGIN

; The following are required for smtp_authtype = XOAUTH2 (e.g. GMail OAuth)
; (See
; smtp_oauth_provider = Google
; smtp_oauth_email =
; smtp_oauth_clientid =
; smtp_oauth_clientsecret =
; smtp_oauth_refreshtoken =

; Enable suppressing verification of SMTP certificate in PHPMailer
; Note: this is not recommended per PHPMailer documentation
; smtp_suppress_cert_check = On

; 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 =
default_envelope_sender = ""

; 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 = 'huhu via gugu'

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

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

; Maximum number of days before an unvalidated account expires and is deleted
validation_timeout = 14

I found the php error log.

SMTP code: 553SMTP server error: MAIL FROM command failed Detail: Envolope sender mismatch with login user..<\/p>",1048586,4,4]

I found the php error log when I submit “add discussion” after submitting a manuscript.

SMTP code: 553SMTP server error: MAIL FROM command failed Detail: Envolope sender mismatch with login user..<\/p>",1048586,4,4]

This email detail info doesn’t appear in the email_log database table. This is exceptional case.

Another situation is “there is no php error log, and email_log has records, but users don’t receive email”.

Both these two cases all block my workflow.

Hi @xiongfeiyan

Have you review and set properly the DMARC section on your ?
You can see the instructions here:


@israel.cefrin I am very happy that you can reply me.
To be honset, when I use ojs2.4.8, it also exists same probelm. Now I use ojs3.3.0.15, still this problem.
I have an idea, could I directly give some variables a const email address in source code? Like this in

Could you tell me how many total variables I need to update? and where are them? Thank you so much.

Hi @xiongfeiyan

Have you reviewed your SMTP settings? I’ve made a search about this server and they recommend not to use SSL as smtp_auth method. Maybe it is relatead to your issue on OJS2 as well.


Please the same problem is happening recently> I am unable to delete the submission. what is the problem? The version is

Hi Israel,thanks, I can’t assure what’s wrong in there. SMTP setting has enabled the smpt function. At last time, I force set as the email address in the mail.ini.php and other files. At local environment, the email function can work well. But, if possible I hope you can retain and not close this post.