yii2 联系我们发送邮件报错

Posted 简庆旺的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2 联系我们发送邮件报错相关的知识,希望对你有一定的参考价值。

      为什么会报错,因为国内的邮件服务商要求发送邮件的人和设置的smtp服务器账号要相同,因为联系我们的是用户,也就是发件人是用户,而不是我们配置的邮箱,所有出错。

     这里我用了个取巧的办法,发件人改为自己,客户的邮箱信息直接拼接在邮件内容,这样我们收到邮件就能知道谁留下的信息。这样有个好处,自己发邮件给自己,成功概率100%

把控制器改为这样写:

public function actionContact()
    {
        $model = new ContactForm();

        if ($model->load(Yii::$app->request->post()) && $model->validate()) {
            $model->body = "访客".$model->email."留言:".$model->body;
            $model->email = Yii::$app->params[\'adminEmail\'];
            if ($model->sendEmail(Yii::$app->params[\'adminEmail\'])) {
                Yii::$app->session->setFlash(\'success\', \'感谢联系我们,我们会尽快联系您!\');
            } else {
                Yii::$app->session->setFlash(\'error\', \'邮件发送错误!\');
            }

            return $this->refresh();
        } else {
            return $this->render(\'contact\', [
                \'model\' => $model,
            ]);
        }
    }

 效果截图:

以上是关于yii2 联系我们发送邮件报错的主要内容,如果未能解决你的问题,请参考以下文章

Yii2邮件发送

yii2 邮件发送(有图有真相)

yii2 邮件发送

yii2.0邮件发送问题解决

Yii2 advance swiftmailer 不能发送邮件

无法从测试网站yii2 swiftmailer发送邮件