5154

Good Luck To You!

centos邮件脚本怎么发?带附件或定时任务怎么配置?

在CentOS系统中,使用脚本发送邮件可以自动化通知、日志备份等任务,提高运维效率,本文将介绍如何配置CentOS环境并编写邮件发送脚本,涵盖基础设置、脚本编写及常见问题处理。

centos邮件脚本怎么发?带附件或定时任务怎么配置?

CentOS邮件发送环境准备

CentOS默认安装了Sendmail或Postfix邮件服务,但若需通过外部SMTP服务器(如Gmail、企业邮箱)发送邮件,需安装邮件客户端工具,以安装mailx为例,执行以下命令:

sudo yum install mailx -y

安装后,需配置SMTP服务器信息,编辑/etc/mail.rc文件,添加如下内容(以Gmail为例):

set from=your_email@gmail.com
set smtp=smtp.gmail.com
set smtp-auth-user=your_email@gmail.com
set smtp-auth-password=your_app_password
set smtp-auth=login
set ssl-verify=ignore

注意:Gmail需启用“应用专用密码”,避免直接使用账户密码。

编写基础邮件发送脚本

以下是一个简单的Shell脚本示例,用于发送纯文本邮件:

#!/bin/bash
# 定义收件人、主题和内容
recipient="recipient@example.com"
subject="系统通知"
body="这是一封来自CentOS服务器的测试邮件。"
# 发送邮件
echo "$body" | mailx -s "$subject" "$recipient"

将脚本保存为send_email.sh,赋予执行权限:

centos邮件脚本怎么发?带附件或定时任务怎么配置?

chmod +x send_email.sh

运行脚本即可发送邮件,若需发送附件,使用-a参数:

echo "$body" | mailx -s "$subject" -a /path/to/file.pdf "$recipient"

高级脚本:结合日志与定时任务

在实际运维中,常需定期发送日志报告,以下脚本实现每日压缩日志并发送:

#!/bin/bash
# 定义变量
log_dir="/var/log"
archive_name="logs_$(date +%Y%m%d).tar.gz"
recipient="admin@example.com"
subject="每日日志报告"
# 压缩日志
tar -czf /tmp/$archive_name $log_dir
# 发送邮件并包含附件
echo "请查收附件中的日志文件。" | mailx -s "$subject" -a /tmp/$archive_name "$recipient"
# 清理临时文件
rm /tmp/$archive_name

结合crontab实现定时执行:

0 9 * * * /path/to/send_log.sh

上述脚本将在每天上午9点自动执行。

常见问题与解决方案

  1. 邮件发送失败,提示“认证错误”
    检查SMTP服务器配置是否正确,尤其是密码是否为“应用专用密码”,若使用企业邮箱,需确认是否开启SMTP服务及白名单IP。

    centos邮件脚本怎么发?带附件或定时任务怎么配置?

  2. 附件发送失败或乱码
    确保附件路径正确,且文件名不含特殊字符,若发送二进制文件,建议使用uuencodebase64编码后传输。


FAQs
Q1: 如何使用脚本发送HTML格式的邮件?
A: 通过mailx-a参数添加HTML内容,

echo "<h1>HTML邮件</h1><p>这是一封HTML格式邮件。</p>" | mailx -a "Content-Type: text/html" -s "HTML测试" "$recipient"

Q2: 如何在脚本中处理多个收件人?
A: 使用逗号分隔多个邮箱地址,

recipient="user1@example.com,user2@example.com"
echo "$body" | mailx -s "$subject" "$recipient"

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.