ubuntu

ubuntu定时发送邮件步骤

小樊
47
2025-10-26 18:05:48
栏目: 智能运维

Ubuntu定时发送邮件步骤

1. 安装邮件发送工具

首先需要安装支持SMTP协议的邮件发送工具(如heirloom-mailxmutt),用于在脚本中调用发送邮件功能。

2. 配置邮件工具的SMTP信息

编辑邮件工具的配置文件,填入SMTP服务器、端口、认证信息(需替换为你的邮箱信息):

3. 测试邮件发送功能

通过命令行发送一封测试邮件,验证配置是否正确:

echo "这是一封测试邮件内容" | mail -s "测试邮件主题" recipient@example.com

或使用mutt发送带附件的邮件:

echo "邮件内容" | mutt -s "测试邮件" -a /path/to/attachment.txt -- recipient@example.com

若未收到邮件,需检查:

4. 编写发送邮件的Shell脚本

创建一个Shell脚本(如/home/user/sendmail.sh),用于封装邮件发送逻辑(需替换为你的实际路径和内容):

#!/bin/bash
# 设置邮件主题、收件人、内容文件路径
SUBJECT="Ubuntu定时任务邮件"
RECIPIENT="recipient@example.com"
CONTENT_FILE="/home/user/mail_content.txt"  # 邮件内容文件(需提前创建)

# 检查内容文件是否存在
if [ -f "$CONTENT_FILE" ]; then
    # 发送邮件(使用heirloom-mailx)
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 开始发送邮件" >> /home/user/mail.log
    cat "$CONTENT_FILE" | mail -s "$SUBJECT" "$RECIPIENT"
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 邮件发送完成" >> /home/user/mail.log
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 内容文件不存在,未发送邮件" >> /home/user/mail.log
fi

5. 配置Cron定时任务

使用crontab命令编辑当前用户的定时任务,设置邮件发送的时间规则(如每天早上8点发送):

crontab -e

在打开的编辑器中添加以下内容(每行代表一个定时任务):

# 每天08:00执行sendmail.sh脚本
0 8 * * * /home/user/sendmail.sh

6. 验证定时任务

常见问题排查

0
看了该问题的人还看了