Ubuntu 14.04安装msmtp mutt软件
apt-get install -y msmtp mutt
配置 msmtp
安装完成之后先配置 msmtp,默认的配置文件根据每个操作系统版本不一样,通过msmtp --version 来查看。
# msmtp --version
msmtp version 1.4.31
Platform: x86_64-pc-linux-gnu
TLS/SSL library: GnuTLS
Authentication library: GNU SASL
Supported authentication methods:
plain scram-sha-1 cram-md5 gssapi external digest-md5 login ntlm
IDN support: enabled
NLS: enabled, LOCALEDIR is /usr/share/locale
Keyring support: none
System configuration file name: /etc/msmtprc
User configuration file name: /root/.msmtprc
Copyright (C) 2013 Martin Lambers and others.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <>.
There is NO WARRANTY, to the extent permitted by law.
我们这里使用 /etc/msmtprc 来设置机器的全局配置,不用管原来的配置文件,用下面的配置文件替换
# Set default values for all following accounts.
defaults
# The SMTP server of the provider.
account default
host smtp.163.com
from xxx@163.com
auth login
user xxx@163.com
password xxxpassowrd
tls off
syslog on
到这里msmtp 就配置好了,更多详细的配置可以使用 man msmtp 来得到帮助,帮助最后还有配置示例。
配置 mutt
mutt 的配置文件也有 2 个。
~/.muttrc or ~/.mutt/muttrc
User configuration file.
/etc/Muttrc
System-wide configuration file.
同样,我们采用全局配置。
set sendmail="/usr/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="xxx@163.com" #这里设置的是你发件人别名,可以不是邮件地址
set editor="vim"
测试发送邮件
df -h |mutt -s "useage of hd" xxx@163.com
使用客户端收取邮件内容如下:
useage of hd
xxx@163.com
发给 xxx
详细信息2014-12-12 05:28
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-root 95G 2.1G 88G 3% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 799M 552K 798M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda1 236M 37M 187M 17% /boot
配置 nagios 的报警邮件也使用 mutt 来发送。在 nagios 的 command.cfg 中将mail 命令替换成 mutt
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
Mutt —— 一个通过终端发送邮件的Email客户端