宝塔面板可通过mailx或mutt实现配置备份后自动邮件发送:先安装配置mailx并设置SMTP,再编写含时间戳的备份脚本,最后通过计划任务触发备份与带附件邮件发送,必要时可用mutt替代,并通过日志和邮箱验证执行结果。

如果您希望宝塔面板在完成服务器配置备份后,自动将备份文件发送至指定邮箱,则需结合本地备份机制与邮件发送工具实现。以下是解决此问题的步骤:
一、安装并配置mailx邮件客户端
mailx是Linux系统中轻量、稳定且被宝塔兼容的命令行邮件工具,用于将备份文件作为附件发送至目标邮箱。需先安装并完成SMTP认证配置。
1、执行安装命令:yum install -y mailx
2、编辑全局邮件配置文件:vim /etc/mail.rc
3、在文件末尾添加以下配置(以QQ邮箱为例,需按实际发件邮箱替换):set from=your_email@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=your_email@qq.com
set smtp-auth-password=your_smtp_authorization_code
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
4、保存退出:Esc → :wq → Enter
二、创建面板配置备份脚本
宝塔面板配置文件集中存于/www/server/panel/config和/www/server/panel/data目录,需将其打包并命名含时间戳,便于识别与归档。
1、新建备份目录:mkdir -p /www/backup/panel_config
2、编写压缩脚本:vi /www/backup/panel_config/backup_panel.sh
3、写入以下内容(确保路径与权限准确):#!/bin/bash
DATE=$(date +%Y%m%d-%H%M)
tar -zcf /www/backup/panel_config/panel_config_${DATE}.tar.gz /www/server/panel/config /www/server/panel/data
chmod 644 /www/backup/panel_config/panel_config_${DATE}.tar.gz
4、赋予执行权限:chmod +x /www/backup/panel_config/backup_panel.sh
三、配置定时任务执行备份与邮件发送
通过宝塔面板“计划任务”功能,可分两步触发:先运行备份脚本生成文件,再调用mailx命令发送。也可合并为单条命令提升可靠性。
1、进入宝塔面板【计划任务】→【添加计划任务】
2、选择任务类型为:Shell脚本
3、设置执行周期(例如每天凌晨2点):0 2 * * *
4、在脚本内容框中填入完整指令:/www/backup/panel_config/backup_panel.sh && ls -t /www/backup/panel_config/panel_config_*.tar.gz | head -n1 | xargs -I {} echo "宝塔面板配置备份文件已生成" | mailx -s "【宝塔备份】面板配置_${DATE}" -a {} your_target_email@domain.com
5、点击【添加任务】并手动执行一次,检查/www/backup/panel_config/是否有新压缩包,且目标邮箱是否收到带附件的邮件
四、使用mutt替代方案(适用于mailx发送失败场景)
当备份文件较大或mailx因SSL策略限制无法发送时,mutt提供更灵活的附件处理能力与错误提示,适合调试复杂邮件环境。
1、安装mutt:yum install -y mutt
2、配置mutt发信身份(避免Bad IDN错误):echo "set from=\"your_email@qq.com\"" >> /etc/Muttrc
3、修改原计划任务脚本中的邮件命令为:echo "宝塔面板配置备份(${DATE})" | mutt -s "【面板配置备份】${DATE}" -a $(ls -t /www/backup/panel_config/panel_config_*.tar.gz | head -n1) -- your_target_email@domain.com
4、确认目标邮箱支持接收该大小附件(建议单文件控制在15MB以内;超限需启用分卷或云存储中转)
五、验证备份完整性与邮件送达状态
每次自动任务执行后,日志输出是判断流程是否闭环的关键依据。宝塔计划任务日志会记录每一步执行结果,包括压缩是否成功、文件是否存在、邮件是否发出。
1、在【计划任务】列表中点击对应任务右侧的【日志】按钮
2、查找包含以下关键词的行:tar: Removing leading `/' from member names(表示打包成功)
3、查找包含以下关键词的行:sent 或 status=sent(表示邮件已由系统提交至SMTP队列)
4、登录目标邮箱收件箱及垃圾邮件文件夹,确认是否收到标题含【宝塔备份】的邮件及附件名匹配panel_config_YYYYMMDD-HHMM.tar.gz










