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

8

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.

saadlulu
la source

Réponses:

12

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
Ivailo Milenkov
la source
2

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 localhostpar 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_systemvariable, 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, SMTPhébergez et smtp_portsont 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_sendmailest 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.

kenorb
la source
1

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

barista amateur
la source
1

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

BetaRide
la source
1

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.

Mansoor Ahmed
la source
0

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

Nayana
la source
0

La réponse acceptée a résolu ce problème, mais notez qu'au moment de ce post, Gmail bloque toutes les applications moins sécurisées car votre site 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 essayez de vous connecter avec le module smtp
  2. Ou obtenez un certificat SSL pour votre site drupal.

The-Vinh VO
la source
0

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é.

Andrew Kozoriz
la source
0

É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"

Quan Lee
la source
0

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)

Angus Walker
la source