magento n'envoie pas de mails, comment déboguer?
Magento
n'est pas l'envoi d'e-mails, transnationale, formulaire de contact donne une erreur
cannot send your mail at this moment
J'ai vérifié
- Configuration de la messagerie dans magento, tous les comptes de messagerie sont définies dans les paramètres de
- mail de php fonctionne bien un test.php avec php mail envoie un message
- vérifié mon serveur de courrier journaux, mais ne rien voir, il n'y pas d'erreurs
- /var/log/system.journal et d'exception.journal montre seulement une erreur de ne pas la cause de l'erreur
exception 'Zend_Mail_Transport_Exception' with
message 'Unable to send mail. ' in
/var/webshop/httpdocs/lib/Zend/Mail/Transport/Sendmail.php:137
source d'informationauteur Ilse
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré ce problème lors de Magento n'était pas à l'envoi de mot de passe oublié e-mails (pas encore de rapports à l'utilisateur), puis après avoir regardé dans les
/var/log/exception.log
trouvé l'erreur, il a généré de l'été:Donc ouvert
/app/code/core/Mage/Core/Model/Email/Template.php
et trouvé le code qui a été lancer cette erreur (sur la ligne 354) était:Avait donc un coup d'oeil à
isValidForSend()
:Ajouté un peu de journalisation des variables au début de la fonction en tant que l'un de ceux-ci doivent être de retour
false
:Qui crée le fichier journal
/var/log/email.log
qui avait:De sorte que le problème était le suivant:
!Mage::getStoreConfigFlag('system/smtp/disable')
que vous pouvez fixer dansAdmin > System > Configuration > Advanced > System > Mail Sending Settings
et changementDisable Email Communications
àNo
donc les emails sont PAS désactivé.Maintenant ça fonctionne 🙂
Tout programme php peut faire un demi-emploi décent de l'envoi d'un courriel avec phpmail.
Donné le message d'erreur, Que votre Magento construire est en train de faire est différente, utiliser Sendmail via le Zend bibliothèque.
Vous aurez besoin de construire et de tester votre installation de sendmail. Ou utiliser un autre service de messagerie tels que gmail et obtenir Magento pour l'utiliser.
Pour tester si c'est vous, votre ordinateur ou Magento, mit un autre programme tel que Roundcube Mail. Si Roundcube Mail vous pouvez envoyer des messages, alors vous saurez que Sendmail est au travail, si pas, alors vous saurez que le problème est dans Sendmail.
La fixation de votre Sendmail est une distribution spécifique.
J'ai aussi été aux prises avec le problème de la commande par e-mails ne soient pas envoyés dans CE 1.9.1 mais a trouvé le problème après un certain temps:
De Magento CE 1.9.1 Magento ne pas envoyer des emails de commande directement pendant le processus de commande.
Au lieu de cela les mails sont mis en file d'attente et sont envoyés par le cron.
Donc, assurez-vous de configurer la tâche cron Magento correctement.
Également se référer à:
http://www.magentocommerce.com/knowledge-base/entry/ee1141-ce191-responsive-email#cron
http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-installing#install-cron
Qui peut être
sendmail
problème, siMagento
l'envoi d'e-mails avecphp
de transport par défaut.Je suis expérimenté avec la situation lorsque sendmail refuser des e-mails pour le domaine local, au lieu de relais de ces e-mails à la bourse des serveurs
http://www.masterdef.net/blog/magento-unable-to-send-mail-sendmail-configuration/#more-1
Je vous recommandons de vérifier
mail.log
sur le serveur, et de le trouver si il ya des erreurs comme unuser unknown
que dire de mal
sendmail
configurationaussi, dans mon cas d'erreur du journal m'a pris à cette fonction. Configuration dans l'admin était très bien. Mais $this->getTemplateSubject() a été l'envoi de faux valeur en tant que modèle qui manquait dans /app/locale/dossier. Ajoutée le modèle qui manquait. Après cela, il a travaillé pour moi.
Si il y a un problème avec le modèle d'e-mail .Vous obtenez cette erreur.Donc, avant de vérifier le courrier électronique journaux de vérifier votre modèle d'e-mail , de plus lorsque ses un e-mail personnalisé à un modèle , le code n'est pas cassé .