# 邮件配置

BeikeShop 邮件可在后台-系统设置-邮件设置配置

img.png

BeikeShop支持的邮件引擎有:SMTP、Sendmail、Mailgun

注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致

# QQ邮箱

进入QQ邮箱,点击设置-账户

img.png

开启POP3/SMTP服务,点击箭头位置查看格式,生成授权码:

img.png

img.png

获取SMTP服务器,端口,每个邮箱SMTP都不一样

img.png

邮件配置:

进入BeikeShop后台-系统设置-邮件设置,启用队列,邮件引擎选择:SMTP,依次填入以下信息

主机:smtp.qq.com

用户:QQ邮箱

密码:授权码

端口:465

配置好后保存即可

img.png

注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致

# 163邮箱

进入163邮箱。点击设置-POP3/SMTP/IMAP

img.png

开启POP3/SMTP服务,生成授权码

img.png

获取SMTP服务器,端口一般是465,除特殊邮件以外!

img.png

邮件配置:

进入BeikeShop后台-系统设置-邮件设置,启用队列,邮件引擎选择:SMTP,依次填入以下信息

主机:smtp.163.com

用户:163邮箱

密码:授权码

端口:465

配置好后保存即可

img.png

注意: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

img.png

邮件配置:

进入BeikeShop后台-系统设置-邮件设置,启用队列,邮件引擎选择:SMTP,依次填入以下信息

主机:smtp.gmail.com

用户:gmail邮箱

密码:gmail应用专用密码

端口:465

配置好后保存即可

img.png

注意:BeikeShop 后台系统设置-基础设置的邮箱需和邮件设置里的用户一致

# 队列配置

启用队列来处理邮件任务,配置步骤如下:

img.png

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.如何修改邮件发件人?

img.png

答:修改网站根目录下.env文件里的APP_NAME

img.png

2.注册用户报错:"Server Error"

img.png

打开网站debug,再注册看报错信息【网站根目录下.env文件 APP_DEBUG=true】

出现如下报错:

img.png

答:BeikeShop 后台系统设置-基础设置的邮箱需要和邮件设置里的用户保持一致

img.png

出现如下报错:

img.png

答:
(1)检查SMTP服务器地址或端口是否填写正确;
(2)检查你的服务器网络,或服务器是否对端口有限制

3.注册用户成功,但是收不到邮件

答:
(1)查看是否使用队列,如果使用队列需要启用队列监听,查看是否有返回失败(FAIL)信息

执行命令,启用队列监听
php artisan queue:work -v 

(2)禁用队列,打开debug,再注册看报错信息查看问题