在Ubuntu上定时发送邮件可通过以下步骤实现,核心工具为crontab(定时任务)+ 邮件工具(如mailx、ssmtp等):
选择一种邮件工具并安装:
sudo apt install mailutils  # 安装mailutils(包含mailx)  
sudo apt install ssmtp mpack  # mpack用于发送附件  
mail -s "主题" recipient@example.com < body.txt发送。/etc/ssmtp/ssmtp.conf,填入SMTP服务器信息(如Gmail):root=postmaster  
mailhub=smtp.gmail.com:587  
AuthUser=your_email@gmail.com  
AuthPass=your_app_password  # 使用应用专用密码  
UseSTARTTLS=YES  
创建一个Shell脚本(如send_email.sh),内容示例:
#!/bin/bash  
# 邮件内容  
SUBJECT="定时邮件测试"  
BODY="这是通过Ubuntu定时发送的邮件内容,当前时间:$(date)"  
RECIPIENT="recipient@example.com"  
# 使用mailx发送  
echo "$BODY" | mail -s "$SUBJECT" "$RECIPIENT"  
# 若需发送附件,使用ssmtp+mpack(需先安装)  
# echo "邮件正文" | mpack -s "$SUBJECT" -a "附件路径" "$RECIPIENT"  
注意:脚本需赋予可执行权限:
chmod +x send_email.sh  
crontab -e  
分 时 日 月 周 命令):# 每天上午10点发送邮件  
0 10 * * * /path/to/send_email.sh  
# 每5分钟测试一次(调试用)  
*/5 * * * * /path/to/send_email.sh  
sudo service cron restart  
sudo tail -f /var/log/syslog | grep cron  
/home/user/script.sh)。chmod 700防止未授权访问)。以上步骤参考自,可根据实际需求选择邮件工具和配置方式。