2011-02-07 7 views
1

J'essaie d'envoyer un mail en utilisant le composant email cakephp. Mais le courrier ne fournit pas, ni aucun message d'erreur. dois-je définir des paramètres supplémentaires? voici mon extrait de code:comment envoyer un courriel en utilisant le composant email cakephp?

  $this->Email->from='<[email protected]>'; 
    $this->Email->to='<[email protected]>'; 
    $this->Email->sendAs='both'; 
    $this->Email->delivery = 'debug'; 
    $this->Email->send(); 
+0

J'ai eu quelques problèmes avec le composant e-mail CakePHP - je trouve que je ne pouvais envoyer du courrier SMTP lors de l'utilisation. Vous pourriez vouloir l'essayer pour voir si cela fonctionne (http://book.cakephp.org/view/1290/Sending-A-Message-Using-SMTP). De plus, avez-vous configuré vos modèles de courriel? (http://book.cakephp.org/view/1286/Sending-a-basic-message#Setting-up-the-Layouts-1287) – Tomba

Répondre

0

Essayez de changer

$this->Email->from='<[email protected]>'; 
$this->Email->to='<[email protected]>'; 

à

$this->Email->from='[email protected]'; 
$this->Email->to='[email protected]'; 

Je viens de l'ai résolu mon problème. Cake n'enverrait pas de messages lorsque la livraison a été définie sur mail, mais avec google SMTP cela a bien fonctionné. Google SMTP avait besoin que les adresses ressemblent à Name <[email protected]>. Lorsque j'ai supprimé le Name, < et > il a commencé à envoyer des courriels propperly avec la méthode de livraison définie à mail. Et d'ailleurs, il est très possible qu'il ne fonctionne pas à localhost (parce que vous êtes spammeur possible ou autre) alors essayez de télécharger votre application sur un serveur et ensuite envoyer les mails.

Modifier: changer également la méthode de livraison à la poste. Mais si vous voulez voir le débogage du courrier, vous devez faire echo $this->Session->flash('email'); dans votre vue lorsque la méthode de livraison de débogage est réglé

0

Essayez et remplacer:

$this->Email->from='<[email protected]>'; 
$this->Email->to='<[email protected]>'; 

Avec ceci:

$this->Email->from='XYZ <[email protected]>'; 
$this->Email->to='ABC <[email protected]>'; 

J'ai eu un problème similaire et il semble que si vous ne spécifiez pas le nom (XYZ, ABC) l'email ne sera pas envoyé et aucune erreur ne s'affichera. J'utilisais le serveur SMTP de Gmail, j'espère que cela aidera.

Aussi est ici l'article livre de recettes sur les courriels: http://book.cakephp.org/view/269/Sending-a-basic-message

Questions connexes