L'envoi de Mail à l'aide de CakePHP 3.0
Je suis en train d'élaborer un site web avec la nouvelle version 3.0 du Framework CakePHP. Je suis en train de travailler sur localhost et aimerais envoyer un e-mail après que l'utilisateur a rempli un formulaire. Ci-dessous est le code dans mon contrôleur pour envoyer l'e-mail.
public function index(){
if ($this->request->is('post'){
$email = new Email();
$email->from([$this->request->data["sender"] => "Sender"]
->to("[email protected]")
->subject($this->request->data["Subject"])
->send($this->request->data["message"]);
}
}
Lorsque ce code est exécuté rien ne se passe, pas d'erreur, pas de message dans ma boîte aux lettres. J'ai vu qu'il existe dans cakephp3.0 une classe appelée DebugTransport
mais je ne sais pas comment l'utiliser pour déboguer mon code. Quelqu'un a déjà utiliser ?
- Je pense que vous ne pouvez pas utiliser l'e-mail() en local, essayez de le télécharger sur un site en ligne. 🙂 btw, je me souviens de mon ami pouvez envoyer un e-mail à l'aide de localhost xampp, peut-être que cela dépend de votre apache ou quelque chose. 🙂
- vous pouvez utiliser le protocole smtp pour envoyer des messages à partir de localhost
- Veuillez toujours mentionner votre version de CakePHP! Si vous utilisez une récente 3.x release, alors cela devrait échouer dur avec une exception en ce qui concerne le manque de transport. Aussi votre code est manquante de clôture
(
pour lafrom()
appel, assurez-vous que ce problème n'est pas présent dans votre code. Cela dit, veuillez consulter la documentation sur comment faire pour configurer un transport pour la classe email (remarque: l'utilisation de base de la section est manquante qui). - Il y a beaucoup plus d'options pour l'envoi de courriels à partir de localhost, ex: Mailgun, Mandrill, etc
Vous devez vous connecter pour publier un commentaire.
Vous deviez utiliser un serveur smtp pour la livraison de votre e-mail à partir de votre localhost dans votre configuration e-mail.
2 choix :
Utiliser à partir d'un vrai serveur avec une configuration de la messagerie de
Utilisation serveur smtp de votre test sur votre localhost. il y a beaucoup de serveur smtp avec vous permettre de l'utiliser.
voir mailjet.com
Salut merci à tous pour vos réponse.
En utilisant mailjet.com j'ai été en mesure d'envoyer des e-mails en localhost. Ci-dessous les différentes étapes:
Étape 1
Créer un compte sur mailjet site
Étape 2
Dans app.php ajouter une nouvelle entrée dans la table EmailTransport. L'autre paramètre host, port, nom d'utilisateur et le mot de passe peut être trouvé sur mailjet site web.
Étape 3
Dans votre contrôleur