gpt4 book ai didi

php - 如何在 Yii2 中使用 swiftMailer

转载 作者:IT王子 更新时间:2023-10-29 00:57:55 27 4
gpt4 key购买 nike

我终于搞不懂如何在 Yii2 中使用 swiftMailer 扩展。从这个角度来看,我没有找到问题,任务很简单,但直到最后我还是无法理解。

有些例子没有更详细地描述发送信件的整个周期,或者我不明白:(

设置

    return [
//....
'components' => [
......
'mail' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'username',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],
]
];

发送

Yii::$app->mail->compose()
->setTo($toEmail)
->setFrom([$this->email => $this->name])
->setSubject($this->subject)
->setTextBody($this->body)
->send();

我想要一个具体的工作示例。谢谢。

附言我调整了域记录 MX、DKIM、SPF 添加。

UPD(一些答案):

E-mail which is passed in "From" field, it is put down by default in the field of "Return-path", has to be the existing address. Some providers don't allow sending mail from nonexistent email addresses.

最佳答案

确保您已在生产环境中初始化您的应用程序以从您的应用程序发送电子邮件,否则它将被写入邮件输出文件夹。或者手动编辑配置文件如下。

在 common/main-local.php 的组件部分

'mail' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@backend/mail',
'useFileTransport' => false,//set this property to false to send mails to real email addresses
//comment the following array to send mail using php's mail function
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.gmail.com',
'username' => 'username@gmail.com',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],

在你的 Controller 中

    \Yii::$app->mail->compose('your_view', ['params' => $params])
->setFrom([\Yii::$app->params['supportEmail'] => 'Test Mail'])
->setTo('to_email@xx.com')
->setSubject('This is a test mail ' )
->send();

这应该有效!希望对您有所帮助!

关于php - 如何在 Yii2 中使用 swiftMailer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com