当前位置: 移动技术网 > 网络运营>服务器>Linux > Shell脚本实现自动发送邮件的例子

Shell脚本实现自动发送邮件的例子

2017年12月12日  | 移动技术网网络运营  | 我要评论
1、编辑用户home目录下的.muttrc文件,设置发信环境。 复制代码 代码如下: # cat /root/.muttrc set envelope_from=y

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许可。 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网