ubuntu

Ubuntu定时任务能否定时发送邮件

小樊
37
2025-07-15 11:50:29
栏目: 智能运维

是的,Ubuntu 定时任务(cron)可以用来定时发送邮件。你可以使用命令行邮件客户端(如 mailsendmail)或脚本结合 cron 来实现这一功能。

以下是一个简单的示例,展示如何使用 cron 和 mail 命令定时发送邮件:

  1. 安装邮件客户端(如果尚未安装):

    sudo apt-get update
    sudo apt-get install mailutils
    
  2. 配置邮件发送功能: 编辑 /etc/mail.rc 文件,添加你的邮件服务器信息:

    set smtp=smtp.yourmailserver.com
    set smtp-auth=login
    set smtp-auth-user=your-email@example.com
    set smtp-auth-password=your-password
    set from=your-email@example.com
    
  3. 创建一个发送邮件的脚本: 创建一个名为 send_email.sh 的脚本文件:

    nano ~/send_email.sh
    

    在文件中添加以下内容:

    #!/bin/bash
    echo "This is the body of the email" | mail -s "Subject of the email" recipient@example.com
    

    保存并退出编辑器,然后赋予脚本执行权限:

    chmod +x ~/send_email.sh
    
  4. 设置定时任务: 使用 crontab -e 命令编辑当前用户的 crontab 文件:

    crontab -e
    

    添加一行来设置定时任务,例如每天早上 8 点发送邮件:

    0 8 * * * /home/yourusername/send_email.sh
    

    保存并退出编辑器。

这样,系统就会在每天早上 8 点自动执行 send_email.sh 脚本,发送一封邮件。

请注意,使用明文密码存储在脚本或配置文件中是不安全的。建议使用更安全的方法,如环境变量或加密存储密码。

0
看了该问题的人还看了