程序员我是程序员;您好程先生;叫我序员就好了程序猿阵线联盟-汇总各类技术干货

Laravel框架发送Email遇到的问题

2018-01-24  本文已影响295人  彩虹的夜晚

学习使用发送邮件

我们在用户注册的时候都会发送一份欢迎的邮件,像thinkPHP我们就需要自己集成邮件发送,而在laravel中已经集成好了发送的邮件,只要我们进行配置就可以了,下面就展示我在学习使用发送邮件过程中遇到的几个问题。

第一个问题:无法连接到163邮箱

我在配置的过程中出现了下面的错误提示,显示如图:

无法连接到163邮箱

经过仔细的检查,发现是自己的端口号和连接的用户名(我配置成没有带@163.com这个后缀的格式)没有配置正确。

第二个问题:没有开启授权码

在配置的过程中经常会出现下面的错误信息,显示如图:

没有开启授权码

首先是要登录163邮箱开启授权码功能,开启功能截图:

授权码开启截图

开启完毕之后,需要在env文件中配置,配置密码为:授权码,并非是登录密码,重要的事情说三遍:授权码,并非是登录密码授权码,并非是登录密码授权码,并非是登录密码

第三个问题

在前面的配置项中我们配置了错误信息,但是我们配置了正确的邮件配置信息之后,还是现实原来的错误信息,不论我们是怎么修改,显示如图:

页面提示的错误信息 代码中已经修改好的配置信息

遇到这个问题,首先第一个印象就是:可能是缓存文件引起的,可是我使用了php artisan config:clear命令之后,还是显示同样的错误提示信息,这时候就开始使用Google搜索,可是也没有具体的解决办法,最后想起来,忘记重启服务器了:重新启动服务器,重启之后,结果就显示正常了。下面配置一张Stack Overflow上提示要重启的服务器的图:

重启服务器的提示信息

总结

学习使用laravel发送邮件需要注意的点:

  1. 配置的发送邮件需要开启授权码功能
  2. 配置env文件中的MAIL_USERNAME必须要有@163.com这样的后缀
  3. 配置文件夹下的mail.php文件中,from的键值需要配置address和name的值,推荐将配置项写到env文件中
  4. 配置发送邮件的过程中,如果有任何的改动必须要重启服务器,否则无法生效
上一篇下一篇

猜你喜欢

热点阅读