shell脚本自动发送邮件,shell发邮件的例子

发布时间:2020-01-08编辑:脚本学堂
分享一个shell脚本自动发送邮件的例子,使用.muttrc文件配合shell脚本完成邮件发送,有需要的朋友参考下。

如何用shell/ target=_blank class=infotextkey>shell脚本自动发送邮件

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

复制代码 代码示例:
# cat /root/.muttrc
set envelope_from=yes
set from=jbxue@sina.cn
set realname="jbxue"
set use_from=yes
set rfc2047_parameters=yes
set charset="utf-8"

2、发邮件脚本
 

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

3、说明:
 
-s:指定主题
-a:附件
-c:抄送,需要抄送多人的话,须使用多个 -c 选项
 
使用以上发信环境可以保证在页面查看邮件时,附件名不出现乱码
其中 .muttrc 的 "set from"可以随便设置,可以是不存在的邮箱地址,当然正确的最好。
比如:
set from=abc@jb200.com

并非设置的正确的邮箱地址就一定能发送成功。
set from=jbxue@126.com

新注册了一个 jbxue@126.com,然后将 set from 设置为jbxue@126.com,就没有成功。
原因在于126邮箱报了 550 MI:SPF 错误,连接到126 企业退信的常见问题?

发现550 MI:SPF 发信IP未被发送域的SPF许可。