shell下脚本实现发送邮件

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

Java代码   收藏代码
  1. # cat /root/.muttrc   
  2. set envelope_from=yes  
  3. set from=owinux@sina.cn  
  4. set realname="Owinux"  
  5. set use_from=yes  
  6. set rfc2047_parameters=yes  
  7. 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"可以随便设置,可以是不存在的邮箱地址,当然正确的最好。

比如:

Java代码   收藏代码
  1. set from=abc@owinux.com  
 

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

Java代码   收藏代码
  1. set from=owinux@126.com  
 

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

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

Java代码   收藏代码
  1. 550 MI:SPF 发信IP未被发送域的SPF许可。  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值