web-dev-qa-db-fra.com

Impossible d'envoyer un e-mail. Contactez l'administrateur du site si le problème persiste

Lorsque mon formulaire Web est rempli et envoyé, je suis redirigé vers une page qui dit:

Merci d'avoir soumis.

mais il y a une boîte d'avertissement rouge qui dit:

Impossible d'envoyer un e-mail. Contactez l'administrateur du site si le problème persiste.

Je pense que c'est le serveur SMTP, mais je ne sais pas comment résoudre ce problème.

8
saadlulu

Essayez d'utiliser:

Prise en charge de l'authentification SMTP

avec PHPMailer

Si vous utilisez Gmail pour configurer STMP, procédez comme suit:

  1. Serveur SMTP: smtp.gmail.com
  2. Port SMTP: 465
  3. Utiliser un protocole crypté: utiliser SSL
  4. Authentification SMTP - Votre nom d'utilisateur et votre mot de passe
  5. Laissez les autres options par défaut
12
Ivailo Milenkov

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 qu'une mauvaise configuration de votre Drupal, PHP ou 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 être manquant sendmail lui-même (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 vous manque probablement un serveur SMTP (car il pointe vers localhost par défaut), sauf si vous envisagez d'utiliser celui externe.

Si c'est 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 module SMTP , vérifiez si vous l'avez configuré (voir fichier README ) correctement, y compris le bon paramètres du serveur ,
  • vérifier la valeur de mail_system variable, si elle est remplacée - réinitialisez-la à sa valeur par défaut (drush vdel mail_system),
  • vérifiez votre configuration de messagerie PHP (php -i | grep -ie mail -e smtp) et confirmez que sendmail_path, SMTP hôte 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é sur 1 (setsebool httpd_can_sendmail 1).

Enfin, testez votre e-mail par la commande PHP:

php -r 'mail("[email protected]", "Mail test", "It works!");'

et vérifiez cela page si l'e-mail a été reçu.

2
kenorb

Vérifiez vos journaux d'erreur Drupal et chien de garde PHP. Il peut s'agir d'erreurs de journalisation qui vous aideront à déterminer le problème. Consultez également votre administrateur système). pour voir si les informations d'identification du serveur SMTP que vous utilisez sont valides (c.-à-d. adresse, port, cryptage, mot de passe, etc.).

1
amateur barista

J'ai été pris dans ce problème en raison d'un problème de sandbox Amazon SES. Amazon SES ne vous permet pas d'envoyer des e-mails à des domaines non vérifiés en mode sandbox. Vous devrez demander un accès à la production et le problème sera résolu.

1
Mansoor Ahmed

Si le simple fait de voir ce qui serait envoyé suffit, le module maillog est très pratique.

1
BetaRide

La réponse acceptée a résolu ce problème, mais notez qu'au moment de ce post, Gmail bloque tout Application moins sécurisée car votre drupal ne fonctionne pas avec HTTPS.

  1. Ensuite, vous devez Autoriser les applications moins sécurisées dans Mon compte Gmail en

    • Mon compte> Connexion et sécurité> Autoriser les applications moins sécurisées
    • Ou suivez le lien dans l'e-mail d'avertissement reçu de Gmail au moment où vous avez essayé de vous connecter avec le module smtp
  2. Ou obtenez un certificat SSL pour votre site drupal.

0
The-Vinh VO

Sur les mêmes hébergements partagés Vous ne pouvez pas envoyer d'e-mail sans créer d'e-mail pour le webmaster. Par exemple. si vous avez un domaine test.com, vous devez créer un e-mail [email protected] ou [email protected] dans votre Cpanel et définir cet e-mail comme e-mail principal du site Web. Cet e-mail sera dans le champ "De" de votre courrier. Ou créez votre propre courrier pour le domaine et définissez ce courrier comme principal pour le site. Cela dépend des paramètres de sécurité de l'hébergement partagé.

0
Andrew Kozoriz

Au cas où cela aiderait quelqu'un d'autre:

J'ai reçu cette erreur et j'ai découvert que c'était parce que j'avais à la fois le Cc et le Cci définis sur la même adresse e-mail dans mes en-têtes drupal_mail. (c'était parce que je testais)

0
Angus Walker

Étape 1: vous pouvez définir les paramètres SMTP Étape 2: ligne de commande ouvrir le port 465 "-A INPUT -p tcp --dport 465 -j ACCEPT"

0
Quan Lee

Les paramètres suivants ont fonctionné pour moi sur Windows.

Si vous utilisez Gmail pour configurer STMP, procédez comme suit:

Serveur SMTP: smtp.gmail.com

Port SMTP: 465

Utiliser un protocole crypté: utiliser SSL

Authentification SMTP - Votre nom d'utilisateur et mot de passe gmail

Laissez les autres options par défaut

0
Nayana