宝塔SSL证书过期提醒需手动开启监控并配置SMTP邮件服务,仅对通过宝塔申请或勾选“监控此证书”的手动证书生效,且依赖每日02:00定时任务;未收到提醒常见原因为邮件配置失败、定时任务未启用或证书未被监控。

宝塔面板里怎么看SSL证书还剩多少天
证书快过期却没收到提醒,多数是因为宝塔默认不开启自动检测和邮件通知。先确认当前证书状态:网站 → 选中站点 → SSL → 看右上角「有效期至」那行日期。如果显示「已过期」或剩余天数少于30天,就得立刻处理。
注意:宝塔的「证书到期提醒」功能依赖于后台定时任务是否启用,且仅对通过宝塔申请(含Let’s Encrypt自动续签)或手动上传但勾选了「监控此证书」的证书生效。
- 手动上传的证书,默认不被监控,必须点击证书右侧的
设置→ 勾选开启证书到期提醒 - 使用DNS API方式申请的Let’s Encrypt证书,只要续签成功,宝塔会自动更新监控时间
- 如果「有效期至」显示为「未知」,说明证书格式异常或解析失败,需重新上传PEM格式的
fullchain.pem和privkey.pem
怎么配置宝塔邮件提醒证书过期
宝塔用的是系统级邮件服务,不是网页表单填个邮箱就完事。必须先确保服务器能发信,否则提醒永远发不出去。
进入面板设置 → 邮件通知 → 填写SMTP信息。推荐用腾讯企业邮箱或阿里云邮件推送(比QQ邮箱更稳定):
-
SMTP服务器填smtp.exmail.qq.com(腾讯企业邮)或smtp.dm.aliyun.com(阿里云) -
端口选465,加密方式选SSL -
发信邮箱必须和SMTP登录账号一致,比如admin@yourdomain.com -
密码不是邮箱登录密码,而是SMTP专用授权码(在邮箱后台开启并生成) - 填完点
测试发送,收到测试邮件才算配置成功
测试失败常见原因:SELinux拦截、firewalld屏蔽了465端口、授权码未开启或填错、DNS未解析smtp子域名。
为什么设置了邮件提醒却没收到?
最常被忽略的一点:宝塔只在每天凌晨02:00左右执行一次证书检查任务,且仅向「面板设置 → 邮件通知」里填写的邮箱发送,不会抄送网站管理员邮箱。
- 检查定时任务是否启用:
计划任务→ 查找名称含ssl或证书的任务 → 状态必须是启用 - 查看日志确认是否执行:
/www/server/panel/logs/task.pl,搜索ssl关键词,看最近是否有check_ssl记录 - 如果日志里有
send mail fail,说明邮件服务本身异常,不是证书逻辑问题 - 多个网站共用同一证书(如泛域名),宝塔只按证书维度发一次提醒,不会每个站点重复发
另外,Let’s Encrypt证书默认90天有效期,宝塔会在到期前7天、3天、当天各发一次提醒——但前提是前三次都得发成功,中间任意一次失败,后续就不会再触发。
想自定义提醒时间或加微信/钉钉通知怎么办
宝塔原生不支持微信、钉钉或短信,也不允许改提醒提前天数(固定7/3/0)。如果需要更灵活的控制,得绕过宝塔的内置机制,用脚本主动查 + 外部通道推送。
例如,写一个简单Shell脚本检查/www/server/panel/vhost/cert/你的域名/fullchain.pem的过期时间,用openssl x509 -in ... -enddate -noout解析,再调用钉钉机器人Webhook发送。这种方案要自己维护定时任务,但可以做到提前15天提醒、多群同步、甚至自动续签失败时告警。
不过要注意:手动脚本不能替代宝塔的自动续签逻辑,只是补充通知渠道。真正关键的还是确保acme.sh或宝塔内置的Let’s Encrypt续签任务在crontab里正常运行,且域名DNS和HTTP验证始终可达。











