这两天在学习框架,到发送邮箱的时候遇到了两个问题,下面贴出我的解决方法。
问题一:Failed to authenticate on SMTP server with username "yoovanchan@163.com" using 2 possible authenticators
大概的解决方法是:去网易邮箱开启SMTP服务(开启方法百度很多),网易邮箱可以自己设置授权码,但是授权码不能跟登录密码一致。获得授权码后,回去laravel的.env文件修改MAIL_PASSWORD值为你的授权码。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.163.com
MAIL_PORT=465
MAIL_USERNAME=yoovanchan@163.com
MAIL_PASSWORD=XXXXXXXX
MAIL_ENCRYPTION=ssl
贴上我的.env设置。
问题二:Connection could not be established with host smtp.163.com
无法跟163建立连接。
首先,确保你的密码是你的授权码,然后主要问题是端口。
一般在网上看到的教程端口都是25、465、587,此外使用163的话还有一个994端口可以用。端口有什么不同呢?
首先,发送邮件采用的是SMTP协议,采用SSL加密(你的.env的加密协议一般也是ssl),25是SMTP的非SSL协议端口号,而465、994是SSL协议端口号,587端口。。我也不知道为什么587端口可以,587端口是QQ的SSL端口,但是我试过了,我用587也是可以发送的,懂的大神可否告知我。
好了,所以,也看到啦,我们采用的是SSL协议,所以用25端口会报问题二的错误,但是用465、587、944端口都可以成功发邮件。