Configuración de EMAIL en OJS 3.4 empleando un correo institucional con MICROSOFT 365

Buen día estimada comunidad.
Tengo un problema en el envío de correos de la plataforma OJS 3.4.0.3.
Estoy usando un correo institucional del proveedor Microsoft 365. He seguido los pasos del manual de OJS pero no he tenido éxito en el envío de correos (no envía).
Mi configuración es la siguiente:


[email]

; Default method to send emails
; Available options: sendmail, smtp, log, phpmailer
default = smtp

; Path to the sendmail, -bs argument is for using SMTP protocol
sendmail_path = “/usr/sbin/sendmail -bs”

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

; SMTP server settings
smtp_server = smtp.office365.com
smtp_port = 587

; Enable SMTP authentication
; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)
smtp_auth = STARTTLS
smtp_username = proyecto@dominio.gob.pe
smtp_password = contraseñaDelCorreoCreado

; Enable suppressing SSL/TLS peer verification by SMTP transports
; Note: this is not recommended for security reasons
; 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 = proyecto@dominio.gob.pe

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

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

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


Les agradecería si pudieran indicarme las opciones de solución o mejora que no estoy considerando para que el OJS pueda enviar correos.
Desde ya les agradezco y les envío muchos saludos.

Hola @guillermogl
¿has intentando solamente con tls? porque al final estamos hablado de un protocolo, y starttls es un comando que forza el uso de un estandar (tls)
Nos cuentas.
Saludos!

Hola, yo tengo la siguiente configuración en una revista, y envía correos sin problema, espero te ayude de algo:


[email]

; Use SMTP for sending mail instead of mail()

smtp = On

; SMTP server settings

smtp_server = smtp.office365.com

smtp_port = 587

; Enable SMTP authentication

; Supported smtp_auth: ssl, tls (see PHPMailer SMTPSecure)

smtp_auth = starttls

smtp_username = correo@office.com

smtp_password = contraseña

;

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

; 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 = correo@office.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

1 Like

Hola que tal, no me funcionó con ese cambio.
Gracias.

No, tampoco logro la solución.

El error que me sale en, error.log es:

Se queja del certificado, pero lo he chequeado y no veo el problema:
https://www.ssllabs.com/ssltest/analyze.html?d=openjournal.insm.gob.pe

Prueba a añadir smtp_suppress_cert_check = On en tu config a ver que tal.

Igualmente, te paso mi configuración contra M$ Office365 por SMTP, con usuario y contraseña, por si con esta combinación tienes más suerte:

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

[email]

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

; SMTP server settings
smtp_server = "smtp.office365.com"
smtp_port = 587

smtp_auth = starttls
smtp_username = "ID@dominio.org"
smtp_password = "tuPassword"

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


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

; Allow envelope sender to be specified
; (may not be possible with some server configurations)
; MBR:
allow_envelope_sender = On

; Default envelope sender to use if none is specified elsewhere
; El correo desde el que quieres que se envie:
default_envelope_sender = correo@dominio.org

; 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 NOMBRE REVISTA'

; Enable attachments in the various "Send Email" pages.
; (Disabling here will not disable attachments on features that
; require them, e.g. attachment-based reviews)
enable_attachments = On

; 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-priveleged user
max_recipients = 10

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

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

Si sigue fallando intenta enviar con otro correo (pe: gmail) a ver si eso nos da pistas.

Cada vez hay más problemas con los correos. Las grandes se están poniendo muy tontas con algo que hasta hace 2 días era un protocolo estandard… y si al menos sirviese para reducir spam, pues vale, pero lo único que está sucediendo es que cada vez hay menos gente manteniendo sus MTAs pq es un auténtico engorro.

Un saludo,
m.

1 Like