Laravel框架发送Email遇到的问题
2018-01-24 本文已影响295人
彩虹的夜晚
学习使用发送邮件
我们在用户注册的时候都会发送一份欢迎的邮件,像thinkPHP我们就需要自己集成邮件发送,而在laravel中已经集成好了发送的邮件,只要我们进行配置就可以了,下面就展示我在学习使用发送邮件过程中遇到的几个问题。
第一个问题:无法连接到163邮箱
我在配置的过程中出现了下面的错误提示,显示如图:
无法连接到163邮箱经过仔细的检查,发现是自己的端口号和连接的用户名(我配置成没有带@163.com这个后缀的格式)没有配置正确。
第二个问题:没有开启授权码
在配置的过程中经常会出现下面的错误信息,显示如图:
没有开启授权码首先是要登录163邮箱开启授权码功能,开启功能截图:
授权码开启截图开启完毕之后,需要在env文件中配置,配置密码为:授权码,并非是登录密码,重要的事情说三遍:授权码,并非是登录密码、授权码,并非是登录密码、授权码,并非是登录密码。
第三个问题
在前面的配置项中我们配置了错误信息,但是我们配置了正确的邮件配置信息之后,还是现实原来的错误信息,不论我们是怎么修改,显示如图:
页面提示的错误信息 代码中已经修改好的配置信息遇到这个问题,首先第一个印象就是:可能是缓存文件引起的,可是我使用了php artisan config:clear
命令之后,还是显示同样的错误提示信息,这时候就开始使用Google搜索,可是也没有具体的解决办法,最后想起来,忘记重启服务器了:重新启动服务器,重启之后,结果就显示正常了。下面配置一张Stack Overflow上提示要重启的服务器的图:
总结
学习使用laravel发送邮件需要注意的点:
- 配置的发送邮件需要开启授权码功能
- 配置env文件中的MAIL_USERNAME必须要有@163.com这样的后缀
- 配置文件夹下的mail.php文件中,from的键值需要配置address和name的值,推荐将配置项写到env文件中
- 配置发送邮件的过程中,如果有任何的改动必须要重启服务器,否则无法生效