原来一直在Linux下使用mail命令来发送邮件,但是配置起来特别麻烦,需要配置sendmail的很多东西。而且还必须启动sendmail才能保证邮件发送成功。那么有没有类似于foxmail,outlook这样的邮件客户端软件,并且有命令行的形式,来发送邮件呢。mutt和msmtp提供了一个很好的解决方案。
以下是配置方案:
1)下载msmtp
wget
2)解压:
tar jxvf msmtp-1.4.16.tar.bz2
3)安装:
./configure --prefix=/usr/local/msmtp
make
make install
4) 配置 msmtp账号:
新建文件/usr/local/msmtp/etc/msmtprc
编辑内容:
defaults
account test
host 发送邮件服务器名称
from 发送的邮件Email
auth login
user 邮件服务器登录账号
password 邮件服务器登陆密码
account default : test
5)保存退出,测试客户端是否可用
/usr/local/smtp/bin/msmtp 目标邮件地址
随便输入一些字符,然后按ctrl D退出,去目标邮件地址查看邮件是否收到。
7)保存退出,测试一下mutt是否有效:
echo "测试测试" | mutt -s "测试" 测试邮件地址
配置文件例子:vi /usr/local/etc/msmtprc
########################
account default
host smtp.gmail.com
tls on
tls_certcheck off
auth on
user tangliyun_haha@gmail.com
password woganbaiduorgoogle
#Port 587
from tanlgiyun_haha@gmail.com
logfile /data/logs/msmtp.log
########################
5)保存退出,测试客户端是否可用
/usr/local/smtp/bin/msmtp 目标邮件地址
随便输入一些字符,然后按ctrl+D退出,去目标邮件地址查看邮件是否收到。
6)配置mutt,mutt一般linux都会默认安装,可以使用which mutt查看mutt安装的路径。
wget
rpm -ivh mutt-1.4.1-12.0.3.el4.i386.rpm
编辑mutt配置文件:/etc/Muttrc,修改一下几行:
set sendmail="/opt/msmtp/bin/msmtp"
set use_from=yes
set realname="发送邮件地址"
set editor="vi"
7)保存退出,测试一下mutt是否有效:
echo "测试测试" | mutt -s "测试" 测试邮件地址
############ 应用一例 ###########
num216=`ping 125.79.234.16 -c 4 | awk '{print $1}'|wc -l`
echo $num216
if [ $num216 -eq 9 ]
then
echo "ok"
`echo "125.79.234.16" | mutt -s "ping 不通" tangliyun_haha@gmail.com`
else
echo "error"
fi
######################
for ip in 125.79.234.16
do
num=`ping $ip -c 4 | awk '{print $1}'|wc -l`
if [ $num -eq 9 ]
then
echo "ok"
`echo "$ip" | mutt -s "ping 不通" tangliyun_haha@gmail.com`
else
echo "error"
fi
done
#########################################
参考:
阅读(2238) | 评论(0) | 转发(0) |