phpemailojs

Email have stopped being sent in OJS(open journal system) website


I am working on https://journal.iba-suk.edu.pk:8089/SIBAJournals/index.php/sjet. I am having an issue which is that emails have stopped being sent or they are no longer being sent since April 29. Therefore, we are unable to receive emails regarding new manuscript submission. We also can not receive forgot password email. I am running windows apache xamph php server. following is the code of my config.inc.php file

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

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

; SMTP server settings
; smtp_server = mail.example.com
; smtp_port = 25
 smtp_server = smtp.gmail.com
 smtp_port = 465

;smtp_port = 587


; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
; smtp_auth = ssl
; smtp_username = username
; smtp_password = password
 smtp_auth = ssl
; smtp_auth = PLAIN
 
 smtp_secure = tls
 log_email=On
 smtp_username = *********
 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 https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2)
; 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 = journals@iba-suk.edu.pk

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

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



 

Solution

  • From what I read in your first paragraph, it's something that happened at my workplace too, exactly around the same day (in our case the problem started the 25th). We solved by enabling 2-Step Verification in the GMail account and setting an app password.

    The following instructions are taken from Sign in with app passwords.

    To enable 2-Step Verification, in the Google account, go to "Security", then in the "How you sign in to Google", enable 2-Step Verification (it's the first option).

    After that, you need to set up an app password, for that you need to search in the Google account search bar for "App password".

    App Password search

    In the App Password screen type the name of the app, then click Create.

    App password creation window

    A floating window will appear with the app password created for the app. It's important to copy the password before closing the window, otherwise you won't have a way to get it again, only to create another.

    App password created for the app

    Copy and paste the app password in the smtp_password field, removing the spaces between the characters. In the example, it'd be like this:

    smtp_password=abcdefghijklmnop

    This should be enough to make it work.