Shell脚本实现自动发邮件

本文介绍如何通过编辑.muttrc文件配置发信环境,并实现自动化邮件发送。包括设置发信人的邮箱地址、姓名及字符集等,同时演示了一个具体的发信脚本实例,该脚本能够自动生成邮件内容并附带附件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、编辑用户Home目录下的.muttrc文件,设置发信环境。

# cat /root/.muttrc 
set envelope_from=yes
set from=owinux@sina.cn
set realname="Owinux"
set use_from=yes
set rfc2047_parameters=yes
set charset="utf-8"
 

2、发信脚本

# cat automail.sh 
#!/bin/sh
# automail.sh
DIR=/root/owinux
mailcontent=$DIR/mailcontent
> "$mailcontent"
echo -e "owinux,您好!\n" >> $mailcontent
echo -e "\t附件为 `date +%Y-%m-%d` 设备日检报告,敬请查收。" >> $mailcontent
cat mailcontent | /usr/bin/mutt -s "设备日检报告" -a /root/owinux/report.xls owinux@126.com -c owinux@yeah.net -c owinux@sina.com
 

3、简要说明:

 

-s:指定主题

-a:附件

-c:抄送,需要抄送多人的话,须使用多个 -c 选项

 

使用上面的发信环境可以保证在页面查看邮件的时候,附件名不出现乱码。

其中 .muttrc 的 "set from"可以随便设置,可以是不存在的邮箱地址,当然正确的最好。

比如:

set from=abc@owinux.com
 

不过也并不是你设置的正确的邮箱地址就一定能发送成功。

set from=owinux@126.com
 

我新注册了一个 owinux@126.com,然后将 set from 设置为owinux@126.com,就没有成功。

原因在于126邮箱报了 550 MI:SPF 错误,连接到126 企业退信的常见问题? 发现

550 MI:SPF 发信IP未被发送域的SPF许可。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值