作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我终于搞不懂如何在 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/
我是一名优秀的程序员,十分优秀!