Comment utiliser le swiftMailer dans Yii2
Je ne peux pas comprendre enfin comment utiliser le swiftMailer extension dans Yii2. A en juger par que sur ce sujet je n'ai pas trouvé les questions, la tâche est trivial, mais jusqu'à la fin, je ne pouvais pas comprendre.
Il y a des exemples qui ne décrivent plus en détail tout le cycle de l'envoi de la lettre ou je ne comprends pas quelque chose 🙁
Installation
return [
//....
'components' => [
......
'mail' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'username',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],
]
];
Envoyer
Yii::$app->mail->compose()
->setTo($toEmail)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->body)
->send();
Je veux recevrez un béton de travail exemple. Merci.
P. S. j'ai ajusté le domaine des enregistrements MX, DKIM, SPF ajouté.
UPD (une réponse):
E-mail qui est passé dans le champ "De", il est mis par défaut dans le champ
de la "voie de Retour", doit être la adresse existante. Certains fournisseurs n'est pas
permettre d'envoyer du courrier à partir inexistant adresses e-mail.
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous avez initialisé votre application dans un environnement de production pour envoyer des e-mails à partir de votre application,sinon, il sera écrit dans le mailoutput dossier.Ou modifier manuellement le fichier de configuration comme suit.
Dans les composants de la section de votre common/main-local.php
Dans votre Contrôleur
Cela devrait fonctionner! Espérons que cela vous aidera!
mailer
, pasmail
yourApp->frontend->modèles->PasswordResetRequestForm.phpVous n'avez pas besoin à l'aide de SMTP de transport avec swiftmailer, seulement supprimer
'useFileTransport' => true
dans le fichier de config (app/config/web.php
dans le modèle de base) et les mails de flux.Prendre un coup d'oeil dans la doc:
http://www.yiiframework.com/doc-2.0/ext-swiftmailer-index.html
Attention: Cette option n'est plus disponible, comme Mandrill a été acheté par Mailchimp
Parfois des problèmes avec l'aide de SwiftMailer ne dépend pas de vous. Comme quand je l'ai utilisé mail.ru serveur e-mail.
J'ai trouvé la solution dans laravel de la communauté et implemend dans Yii2.
Vous pouvez utiliser le service de remplacement comme https://mandrillapp.com/ (12k e-mail par mois, 250 sein heure est gratuite) et mise en place comme ci-dessous:
laravel de la communauté /de l'installation de messagerie avec mandrill
Si vous utilisez gmail, vous pouvez peut aussi face à problème de sécurité. Vous pouvez eteinds la sécurité en permettant à une application d'utiliser votre compte gmail.
Si vous vous êtes connecté avec google utiliser les liens ci-dessous:
https://www.google.com/settings/security/lesssecureapps
Espère que ça aidera quelqu'un
Si vous utilisez le modèle de base, alors vous devez ajouter
pour la config
En fait, vous devez utiliser la clé de configuration mailer au lieu de mail.