使用mutt+msmtp通过外部邮箱发送邮件
2011.05.24 TsengYia#126.com http://tsengyia.blog.chinaunix.net/
附注:
msmtp作为SMTP客户端程序,支持使用SMTP认证,与指定的外部SMTP服务器进行通信;mutt作为邮件代理,调用msmtp程序来完成邮件提交、发送。通过这种机制(mutt-->msmtp-->SMTP服务器),将给编写邮件告警的Shell脚本提供更多便利。
#################################################################
系统环境:
RHEL 5.5 [2.6.18-194.el5]
软件环境:
—— RHEL5光盘自带的RPM软件包
mutt-1.4.2.2-3.0.2.el5.i386.rpm
gnutls-1.4.1-3.el5_3.5.i386.rpm
—— 另外下载的软件包
#################################################################
一、软件包安装
1. 安装msmtp及依赖包libgsasl、libntlm
[root@localhost ~]# rpm -ivh libntlm-1.0-1.el5.i386.rpm
[root@localhost ~]# rpm -ivh libgsasl-1.4.4-1.el5.i386.rpm
[root@localhost ~]# rpm -ivh msmtp-1.4.23-1.el5.i386.rpm
2. 安装mutt(大多数Linux系统中默认已经安装)
[root@localhost ~]# rpm -q mutt
mutt-1.4.2.2-3.0.2.el5
二、配置SMTP邮箱信息
1. 准备可用的SMTP服务器、邮箱帐号和密码
可以使用网易、新浪等支持SMTP认证的邮箱服务器,也可以使用公司内部的邮件服务器。例如,SMTP服务器 mail.tsengyia.com、邮箱帐号 kadmin@tsengyia.com、密码 123456,需要SMTP认证。
2. 建立用户配置文件
(1) 配置文件.msmtprc
[root@localhost ~]# vi /root/.msmtprc
defaults
tls off
logfile ~/.msmtp.log
account kadmin
host mail.benet.com
port 25
protocol smtp
timeout 10
from kadmin@tsengyia.com
auth on
user kadmin
password 123456
[root@localhost ~]# chmod 600 /root/.msmtprc
(2) 配置文件.muttrc
[root@localhost ~]# vi /root/.muttrc
set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="TsengYia"
set from=kadmin@tsengyia.com
set envelope_from=yes
三、使用mutt发送测试邮件
1. 发送邮件
mutt命令的使用与mail命令有点类似,例如可通过-s选项指定邮件主题、通过管道来指定邮件内容、直接指定收件人地址等。更详细的用法可参考mutt --help。
[root@localhost ~]# echo "This is mail content." | mutt -s "A Test Mail" alert@tsengyia.com
2. 查看发送日志
[root@localhost ~]# less /root/.msmtp.log
3. 确认收到邮件
查看收件人alert@tsengyia.com的邮箱,确认能够收到测试邮件。
#################################################################
另注:
网上还提到另外一种命令行使用外部SMTP服务器发送邮件的方法,即修改/etc/mailrc配置文件以指定SMTP服务器地址、帐号认证信息等,然后使用mail命令发邮件。经数次测试发现未起作用,未知何故。
[root@localhost ~]# vi /etc/mailrc
set from=kadmin@tsengyia.com smtp=mail.tsengyia.com
set smtp-auth-user=kadmin smtp-auth-password=123456 smtp-auth=login
……
#################################################################
阅读(3017) | 评论(0) | 转发(0) |