您的位置:首页 > 运维架构 > Shell

shell下脚本实现发送邮件

2013-11-05 13:05 393 查看


Shell脚本实现自动发邮件

博客分类:

脚本编程



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

Java代码


# 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"可以随便设置,可以是不存在的邮箱地址,当然正确的最好。

比如:

Java代码


set from=abc@owinux.com



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

Java代码


set from=owinux@126.com



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

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

Java代码


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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: