欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

YII2邮件配置,网上方法不凑效!

程序员文章站 2022-06-02 15:40:53
...
先上我的配置项
'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => true,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.163.com',
            'username' => 'username@163.com',
            'password' => 'myPassword',
            'port' => '994',
            'encryption' => 'ssl',
        ],
    ],

然后上我的发送代码

return \Yii::$app->mailer->compose('passwordResetToken', ['user' => $user])
    ->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])
    ->setTo($this->email)
    ->setSubject('Password reset for ' . \Yii::$app->name)
    ->send();

怎么测试都无效,是不是我姿势不对?!

回复内容:

先上我的配置项

'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => true,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.163.com',
            'username' => 'username@163.com',
            'password' => 'myPassword',
            'port' => '994',
            'encryption' => 'ssl',
        ],
    ],

然后上我的发送代码

return \Yii::$app->mailer->compose('passwordResetToken', ['user' => $user])
    ->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])
    ->setTo($this->email)
    ->setSubject('Password reset for ' . \Yii::$app->name)
    ->send();

怎么测试都无效,是不是我姿势不对?!

'useFileTransport' => true,

改为false ,如果是true只是生成邮件 在runtime下

我觉得Yii2目前还不是很稳定。现在还暂时不能用于生产环境

好像\Yii::$app->mailer的setFrom()设置的邮箱应该和配置里的邮箱一致才能发。