L'erreur:
Impossible d'envoyer un e-mail.
provient de drupal_mail () et il est considéré comme très général et peut être lié à de nombreuses choses différentes telles que la mauvaise configuration de votre site Drupal, la configuration PHP ou le service SMTP de votre système d'exploitation.
La première chose à faire est de vérifier le système de messagerie ou les journaux Apache (par exemple /var/log/apache2/error.log
) pour plus de détails sur l'erreur, car vous pourriez simplement manquersendmail
ce soi (sauf si vous souhaitez utiliser un service SMTP externe).
Si votre Drupal est hébergé sur votre serveur dédié et qu'il s'agit d'une toute nouvelle configuration, il est fort probable qu'il vous manque un serveur SMTP (car il pointe vers localhost
par défaut), sauf si vous prévoyez d'utiliser le serveur externe.
S'il s'agit de votre machine de développement locale, ignorez l'erreur (car elle devrait fonctionner correctement sur le serveur dédié), essayez d'installer MailCatcher , ou vous devrez installer le serveur SMTP comme indiqué ci-dessus.
Voici quelques autres suggestions:
- si vous utilisez le module SMTP , vérifiez si vous l'avez configuré correctement (voir fichier README ), y compris les bons paramètres du serveur ,
- vérifier la valeur de la
mail_system
variable, si elle est surchargée - réinitialiser la valeur par défaut ( drush vdel mail_system
),
- vérifiez la configuration de votre messagerie PHP (
php -i | grep -ie mail -e smtp
) et confirmez que sendmail_path
, SMTP
hébergez et smtp_port
sont corrects,
vérifier la connectivité à votre serveur SMTP en utilisant telnet
, par exemple
telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')
pour vérifier si l'hôte n'est pas en panne, résolu par le DNS ou non bloqué par le pare-feu,
si vous utilisez postfix
, vérifiez si httpd_can_sendmail
est réglé sur1
( setsebool httpd_can_sendmail 1
).
Enfin, testez votre e-mail avec la commande PHP suivante:
php -r 'mail("[email protected]", "Mail test", "It works!");'
et vérifiez cette page si l'e-mail a été reçu.