# 邮件配置
BeikeShop 邮件可在后台-系统设置-邮件设置
配置
BeikeShop支持的邮件引擎有:SMTP、Sendmail、Mailgun
注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致
# QQ邮箱
进入QQ邮箱,点击设置-账户
开启POP3/SMTP服务,点击箭头位置查看格式,生成授权码:
获取SMTP服务器,端口,每个邮箱SMTP都不一样
邮件配置:
进入BeikeShop后台-系统设置-邮件设置
,启用队列,邮件引擎选择:SMTP,依次填入以下信息
主机:smtp.qq.com
用户:QQ邮箱
密码:授权码
端口:465
配置好后保存即可
注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致
# 163邮箱
进入163邮箱。点击设置-POP3/SMTP/IMAP
开启POP3/SMTP服务,生成授权码
获取SMTP服务器,端口一般是465,除特殊邮件以外!
邮件配置:
进入BeikeShop后台-系统设置-邮件设置
,启用队列,邮件引擎选择:SMTP,依次填入以下信息
主机:smtp.163.com
用户:163邮箱
密码:授权码
端口:465
配置好后保存即可
注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致
# Gmail 邮箱
gmail 邮箱不适用于国内,会被google直接拒掉。
Google 邮箱 官方参考文档:https://support.google.com/mail/answer/7126229?visit_id=637245836154040494-1719467026&hl=zh-Hans&rd=1
首先需要申请google 邮箱,具体申请步骤不做讲解。
设置SMTP 专用密码,https://security.google.com/settings/security/apppasswords
邮件配置:
进入BeikeShop后台-系统设置-邮件设置
,启用队列,邮件引擎选择:SMTP,依次填入以下信息
主机:smtp.gmail.com
用户:gmail邮箱
密码:gmail应用专用密码
端口:465
配置好后保存即可
注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致
# 队列配置
启用队列来处理邮件任务,配置步骤如下:
1.配置数据库驱动来处理队列
(1)在.env文件中,设置队列的驱动为database
QUEUE_CONNECTION=database
(2)在网站根目录下,执行命令创建表(failed_jobs、jobs)
php artisan queue:table
php artisan migrate
这两条命令会分别创建用于存储队列任务的表 jobs 和存储失败任务的表 failed_jobs。
(3)确认邮件其他参数已配置完成(参考邮件配置)
(4)执行命令,启用队列监听
php artisan queue:work -v
2.处理常见问题
(1)查看相关的表 failed_jobs、jobs、notifications(可以使用数据库管理工具查看这些表中的数据。)
(2)查看控制台输出信息(执行 php artisan queue:work -v 命令时,控制台会输出任务的执行过程。如果有问题,它会显示错误信息,帮助你诊断任务处理过程中出现的问题。)
3.可以配置其他队列驱动(如 Redis)
4.在生产环境中,你需要一种方法来保持 queue:work 进程运行。 queue:work 进程可能会因多种原因停止运行,例如超过 worker 超时或执行 queue:restart 命令。 出于这个原因,你需要配置一个进程监视器,它可以检测你的 queue:work 进程何时退出并自动重新启动它们。此外,进程监视器可以让你指定要同时运行多少个 queue:work 进程。Supervisor 是 Linux 环境中常用的进程监视器,配置方法可以参考下面文档。 https://learnku.com/docs/laravel/10.x/queues/14873#e45763 (opens new window)
# 邮件配置常见问题
1.如何修改邮件发件人?
答:修改网站根目录下.env文件里的APP_NAME
2.注册用户报错:"Server Error"
打开网站debug,再注册看报错信息【网站根目录下.env文件 APP_DEBUG=true】
出现如下报错:
答:BeikeShop 后台系统设置-基础设置的邮箱需要和邮件设置里的用户保持一致
出现如下报错:
答:
(1)检查SMTP服务器地址或端口是否填写正确;
(2)检查你的服务器网络,或服务器是否对端口有限制
3.注册用户成功,但是收不到邮件
答:
(1)查看是否使用队列,如果使用队列需要启用队列监听,查看是否有返回失败(FAIL)信息
执行命令,启用队列监听
php artisan queue:work -v
(2)禁用队列,打开debug,再注册看报错信息查看问题