首頁 > 後端開發 > php教程 > YII2 邮件发不出去

YII2 邮件发不出去

WBOY
發布: 2016-06-06 20:36:51
原創
835 人瀏覽過

<code> main里的代码
   'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.163.com',
            'username' => 'username@163.com',
            'password' => 'myPassword',
            'port' => '994',
            'encryption' => 'ssl',
        ],
    ],

PasswordResetRequestForm里面的代码   
   public function sendEmail()
{
    /* @var $user User */
    $user = User::findOne([
        'status' => User::STATUS_ACTIVE,
        'email' => $this->email,
    ]);

    if ($user) {
        if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
            $user->generatePasswordResetToken();
        }

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

    return false;
}

各位大神有经验吗?
</code>
登入後複製
登入後複製

回复内容:

<code> main里的代码
   'mailer' => [
        'class' => 'yii\swiftmailer\Mailer',
        'viewPath' => '@common/mail',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.163.com',
            'username' => 'username@163.com',
            'password' => 'myPassword',
            'port' => '994',
            'encryption' => 'ssl',
        ],
    ],

PasswordResetRequestForm里面的代码   
   public function sendEmail()
{
    /* @var $user User */
    $user = User::findOne([
        'status' => User::STATUS_ACTIVE,
        'email' => $this->email,
    ]);

    if ($user) {
        if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
            $user->generatePasswordResetToken();
        }

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

    return false;
}

各位大神有经验吗?
</code>
登入後複製
登入後複製

  1. 检查有没有错误日志
  2. 你确定你的邮件服务器的地址配置正确?
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板