OJS 3 does not send emails to anyone including automated messages

Describe the issue or problem
Hello, I am new to using OJS for my journal. I have recently installed OJS to my domain and hosting provided by GoDaddy > journalsenseofplace.com
I am also using GoDaddy Professional Email, yet after configuring config.inc.php as follows, when I try to send emails to users or any email from the OJS system, I get this error “There was a problem sending an email message. Please try again later, or contact your system administrator.”

Although I can freely enjoy the email account through the GoDaddy platform, Apple Mail app, Gmail app, and Outlook app, the email sending configuration of this email does not work with OJS. I have contacted GoDaddy, yet they could not solve the issue as they say it is not their server problem rather it is about OJS configurations.

What application are you using?
OJS 3.3.0-13

Additional information
;;;;;;;;;;;;;;;;;;
; Email Settings ;
;;;;;;;;;;;;;;;;;;

[email]

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

; SMTP server settings
; smtp_server = smtp.secureserver.net
; smtp_port = 465

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
; smtp_auth = ssl
; smtp_username = admin@journalsenseofplace.com
; smtp_password = ******************************
;
; 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 Using Gmail with XOAUTH2 · PHPMailer/PHPMailer Wiki · GitHub)
; smtp_oauth_provider =
; 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 = admin@journalsenseofplace.com

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

; 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 = ‘%n via %s’

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

; 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

1 Like

Hi @ademirkol,

As a starting point, you may wish to have a look at some of our email troubleshooting suggestions here: https://docs.pkp.sfu.ca/admin-guide/en/email#troubleshooting-email-problems

-Roger
PKP Team

Hi @ademirkol,

Configuration file lines starting with a ; are ignored; if you want the SMTP configuration to be used, you’ll have to remove those.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher , thank you for your reply. I have updated the configuration file as follows, but the problem persists. Do you have any other idea to help me out?

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

[email]

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

; SMTP server settings
smtp_server = smtpout.secureserver.net
smtp_port = 465

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
smtp_auth = ssl
smtp_username = admin@journalsenseofplace.com
smtp_password = **************************************
;
; Supported smtp_authtype: RAM-MD5, LOGIN, PLAIN, XOAUTH2 (see PHPMailer AuthType)
; (Leave blank to try them in that order)
smtp_authtype =

; The following are required for smtp_authtype = XOAUTH2 (e.g. GMail OAuth)
; (See Using Gmail with XOAUTH2 · PHPMailer/PHPMailer Wiki · GitHub)
smtp_oauth_provider =
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 = admin@journalsenseofplace.com

; 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 = ‘%n via %s’

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

; 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

Hi @ademirkol,

I’m afraid I don’t have any specific advice. OJS 3.3.x uses the excellent third-party PHPMailer library to deliver email; if you want to try that library with your SMTP settings directly, without OJS being involved at all, see: https://mailtrap.io/blog/phpmailer/

Regards,
Alec Smecher
Public Knowledge Project Team

I have configured the config file with another SMTP mail address, another Gmail address, and the current address, yet it still does not work.
the Error log notes, “SMTP connect() failed. Troubleshooting · PHPMailer/PHPMailer Wiki · GitHub

My email settings configuration is follows, any advice?

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

; SMTP server settings
smtp_server = smtpout.secureserver.net
smtp_port = 465

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
smtp_auth = ssl
smtp_username = admin@journalsenseofplace.com
smtp_password = mypassword

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

; The following are required for smtp_authtype = XOAUTH2 (e.g. GMail OAuth)
; (See Using Gmail with XOAUTH2 · PHPMailer/PHPMailer Wiki · GitHub)
smtp_oauth_provider =
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 = admin@journalsenseofplace.com.tld

; 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 = ‘%n via %s’

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

; 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

Hi @ademirkol,
as written on PHPMailer TroubleshootingGoDaddy block outbound SMTP to ports 25, 465 and 587 to all servers except their own”.

Try connecting via a shell into the server where OJS is: