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"
3、简要说明:
[root@stb mapreduce]# cat map_shell_mail.sh
#!/bin/bash
#
# send mail to fangchong@cucrz.com
#
from_name="fangchong@cuc-rz.com"
DATE=`date +%Y%m%d`
DATEM=`date +%Y-%m-%d"日 "%k:%M`
results=`tail -1 /home/mapreduce/$DATE-mapreduce.log`
sed -e 's/$/\r/' /home/mapreduce/$DATE-mapreduce.log > /home/mapreduce/$DATE-mapreduces.log
email_content=/home/mapreduce/$DATE-mapreduces.log
temp=/home/mapreduce/temp.txt
echo " $DATEM 开始检查 " &> $temp
echo " " &>> $temp
echo " " &>> $temp
echo " $results" &>> $temp
echo " " &>> $temp
echo " 附件成功结果,请注意查收 " &>> $temp
cat /home/mapreduce/temp.txt | mail -s " mapreduce The execution result report " -a $email_content $from_name
-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许可。