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,
            ]);
        }
    }

效果截图:

时间: 2024-10-14 09:12:43

yii2 联系我们发送邮件报错的相关文章

YII2安装和更新报错

报错内容如下: Your requirements could not be resolved to an installable set of packages. Problem 1 - yiisoft/yii2 2.0.x-dev requires bower-asset/jquery.inputmask ~3.2.2 -> nomatching package found. - yiisoft/yii2 dev-master requires bower-asset/jquery.inpu

jira发送邮件报错

jira发送邮件的报错 1.安装完jira后,配置发送邮件出错具体报错如下: An error has occurred with sending the test email: com.atlassian.mail.MailException: javax.mail.MessagingException: Exception reading response; nested exception is: java.net.SocketTimeoutException: Read timed ou

php使用smtp发送邮件报错Cannot connenct to relay host

使用DEDEcms自定义了一个发送邮件的php文件,使用了dedecms自带的mail.class.php,在本地可以正常发送,上传到服务器上后,出现提示Cannot connenct to relay host smtp.qq.com Error: () Error: Cannot send email to [email protected] 网上找了一大堆文章,终于解决,问题出在服务器的环境配置上. 找到php.ini,查看两个地方,一个是allow_url_fopen,这个地方要设置成o

Outlook 发送邮件 报错:未知错误,0x80040201

此问题一般会出现在Exchange和POP混合使用的情况下发生:[问题现象]邮件接收与发送,能接收,发送的时候报"未知问题... 0x80040201 错误".重装Office仍不能解决.[问题产生原因]这个问题不常见,一般只发生在这种情况下:之前使用Exchange协议连接邮件服务器,然后改为Pop3方式.本身从Exchange改为Pop3没有什么问题,但是,当你此时输入收信人地址时,Outlook会主动用易记名替换,这一替换出问题了:Outlook中仍然记忆着以前主动从Exchan

centOS+jenkins发送邮件报错Unknown host name: [email protected]

Failed to send out e-mail java.net.UnknownHostException: [email protected] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.j

postfix报错信息汇总

postfix_编译时make: *** [xsasl_cyrus_server.o] Error 1 make: *** [update] //如果编译出错,检查出错情况,一般是有包忘了装,要不是参数路径错误: [注释]: xsasl_cyrus_server.c:598: error: 'SASL_OK' undeclared (first use in this function) xsasl_cyrus_server.c:600: warning: format '%s' expects

zabbix报错整理--持续更新

遇到第一个问题:发送邮件报错: Failure when receiving data from the peer 报错内容:从对等端接收数据时失败(即从邮件接收端接收数据失败) 可能原因:邮件smtp服务出问题:或者接收邮件的邮箱smtp服务挂了 解决过程:先调试手动触发邮件,如果收不到,则更改邮件报警机制中的授权码,重新调试,发现可以正常发送了 总结:具体原因不清楚,等待后续如果再次报错:继续调试看看,持续更新~~ 原文地址:https://www.cnblogs.com/pingfanvb

使用C#模拟Outlook发送邮件,代码编译报错

添加OutLook API 1 using OutLook = Microsoft.Office.Interop.Outlook; 发送邮件方法 1 public void SendEmail() 2 { 3 OutLook.Application app = new OutLook.Application(); 4 OutLook.NameSpace ns = app.GetNamespace("mapi"); 5 ns.Logon("ServerName\\UserNam

使用JavaMail发送邮件-no object DCH for MIME type multipart/mixed报错解决

最近需要实现一个使用Spring schedule按一定时间间隔自动触发条件发送邮件的功能,在开发的过程中,是按照先测试能发出text/html文本邮件,然后测试添加附件发送邮件,我碰到的问题是,文本邮件能正常发送出来,但是添加附件的邮件却发不出来,这个问题困扰了我很久,所以有必要记录下. 报错内容:"javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed" 初