一. msmtp和mutt简介:
msmtp是一个开源的SMTP客户端,它负责传输邮件到SMTP服务器。
mutt是一款功能强大的基于文字界面的E-Mail Client程序,可以用它来读写、回复、保存邮件,当然也可以在邮件中添加附件,它需要和msmtp配合使用,官网地址 http://www.mutt.org/
二. msmtp安装及配置
1.下载及安装
网上下载地址很多,这里提供一个
http://download.chinaunix.net/download.php?id=44453&ResourceID=7048
(这是1.4.30版的,最新版应该是1.6.1了 http://sourceforge.net/projects/msmtp/files/msmtp/1.6.1/)
下载下来后解压:
$tar xvf msmtp-1.4.30.tar.bz2
$cd msmtp-1.4.30
$./configure --prefix=/usr/local/msmtp
$make
$make install
2 配置msmtp
msmtp配置文件有两种,一类是系统配置文件,一类是用户配置文件,配置一个即可
系统配置文件为/usr/local/msmtp/etc/msmtprc (etc目录和msmtprc文件要手工创建)
用户配置在用户家目录下 ~/.msmtprc (只对本用户生效,也要手工创建)
配置文件用于配置邮件发送的一些基本信息,这里对用户配置文件做个简单的配置:
$vi ~/.msmtprc
defaults //表示设置默认值
logfile /usr/local/msmtp/msmtp.log //指定日志文件
account zhao //设置账号
host smtp.163.com //SMTP邮件服务器地址
auth plain //指定认证方式
user zhao //指定用户名
from zhao@163.com //发送的邮件Email
password 123456 //指定密码
因为密码是名文的,所以用户配置文件的读定权限必须为600
chmod 600 ~/. msmtprc
三、mutt的安装与配置
1. mutt安装
一般Linux都会默认安装mutt,可用命令查下rpm -qa|grep mutt 或whereis mutt看下相关路径
如果没有安装可以使用 # yum install mutt安装下,或去官网(http://www.mutt.org/)下载源码安装,这里不再多做介绍
2. mutt配置
mutt配置文件也有两类,一类是系统配置文件(/etc/Muttrc),一类是用户配置文件(~/.muttrc,要手工创建)
我这里配置用户配置文件 ,配置比较简单,不再详述,添加如下内容即可
vi ~/.muttrc
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set envelope_from=yes
set realname="dba"
3.发送邮件
配置完成后,发封邮件测试下:
mutt -s " testdba" -a /home/oracle/check.log zhaoxxx@163.com < /tmp/1.txt
-s 后面testdba 为邮件主题
-a 后面/home/oracle/check.log为附件
zhaoxxx@163.com为收件人邮箱
/tmp/1.txt 文件中的内容为邮件正文内容
去邮箱看下,应该收到了一封标题为testdba的邮件
可以把这条命令放在shell脚本中,加入crontab,每天定时将监控结果发送邮件到邮箱
4.报错处理
如果发送报错,一般是配置文件配置有误,可用下面的办法检测下
mutt –s “testdba” zhaoxxx@163.com
然后会提示输入标题、正文,这时会出现详细的错误信息,可看到是什么问题导致的,
如:提示msmtp: account default not found: noconfiguration file available
很明显是因为无法加载默认的default用户
解决办法:
在muttrc配置文件中,将sendmail配置改为
set sendmail=/usr/local/msmtp/bin/msmtp –C ~/.msmtprc”即可
附:mutt常用参数
|
-a<文件> |
在邮件中加上附加文件。 |
|
-b<地址> |
指定密件副本的收信人地址。 |
|
-c<地址> |
指定副本的收信人地址。 |
|
-f<邮件文件> |
指定要载入的邮件文件。 |
|
-F<配置文件> |
指定mutt程序的设置文件,而不读取预设的.muttrc文件。 |
|
-h |
显示帮助。 |
|
-H<邮件草稿> |
将指定的邮件草稿送出。 |
|
-i<文件> |
将指定文件插入邮件内文中。 |
|
-m<类型> |
指定预设的邮件信箱类型。 |
|
-n |
不要去读取程序培植文件(/etc/Muttrc)。 |
|
-p |
在mutt中编辑完邮件后,而不想将邮件立即送出,可将该邮件暂缓寄出。 |
|
-R |
以只读的方式开启邮件文件。 |
|
-s<主题> |
指定邮件的主题。 |
|
-v |
显示mutt的版本信息以及当初编译此文件时所给予的参数。 |
|
-x |
模拟mailx的编辑方式。 |
|
-z |
与-f参数一并使用时,若邮件文件中没有邮件即不启动mutt |
以上参数内容摘自网络
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29702473/viewspace-1427563/ ,如需转载,请注明出处,否则将追究法律责任。