El error:
No se puede enviar el correo electronico.
proviene de drupal_mail () y se considera que es muy general y puede estar relacionado con muchas cosas diferentes, como la configuración incorrecta de su sitio Drupal, la configuración de PHP o el servicio SMTP de su sistema operativo.
Lo primero que debe hacer es verificar el sistema de correo o los registros de Apache (p /var/log/apache2/error.log
. Ej. ) Para obtener más detalles sobre el error, ya que simplemente podría faltarlosendmail
por sí mismo (a menos que desee utilizar cualquier servicio SMTP externo).
Si su Drupal está alojado en su servidor dedicado y es una configuración completamente nueva, lo más probable es que le falte el servidor SMTP (ya que apunta localhost
de forma predeterminada), a menos que esté planeando usar el externo.
Si es su máquina de desarrollo local, ignore el error (ya que debería funcionar bien en el servidor dedicado), intente instalar MailCatcher o tendrá que instalar el servidor SMTP como se indicó anteriormente.
Aquí hay algunas otras sugerencias:
- si usa el módulo SMTP , verifique si lo configuró (vea el archivo README ) correctamente, incluida la configuración correcta del servidor ,
- compruebe el valor de la
mail_system
variable, si se anula: restablezca el valor predeterminado ( drush vdel mail_system
),
- verifique su configuración de correo PHP (
php -i | grep -ie mail -e smtp
) y confirme que sendmail_path
, SMTP
host y smtp_port
son correctos,
compruebe la conectividad a su servidor SMTP utilizando telnet
, por ejemplo
telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')
para verificar si el host no está inactivo, resuelto por el DNS o no bloqueado por el firewall,
si está usando postfix
, verifique si httpd_can_sendmail
está configurado en1
( setsebool httpd_can_sendmail 1
).
Finalmente pruebe su correo electrónico con el siguiente comando PHP:
php -r 'mail("[email protected]", "Mail test", "It works!");'
y revise esta página si el correo electrónico ha sido recibido.