Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2262792
  • 博文数量: 168
  • 博客积分: 6641
  • 博客等级: 准将
  • 技术积分: 1996
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-02 11:49
文章存档

2020年(4)

2019年(6)

2017年(1)

2016年(3)

2015年(3)

2014年(8)

2013年(2)

2012年(12)

2011年(19)

2010年(10)

2009年(3)

2008年(17)

2007年(80)

分类: LINUX

2011-05-25 21:26:52

 
使用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
……
 
#################################################################
 
阅读(2174) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~