在少量服务器、轻量级运维等情况时我们只需要发送邮件的功能,在Linux下可以使用mutt+msmtp组合用命令行的方式发送邮件到指定邮箱。

原文:https://www.zhukun.net/archives/7386

一、下载和安装

1、msmtp

msmtp需要下载源码包编译安装

wget http://sourceforge.net/projects/msmtp/files/msmtp/1.6.5/msmtp-1.6.5.tar.xz
xz -d msmtp-1.6.5.tar.xz
tar -xvf msmtp-1.6.5.tar

./configure --prefix=/usr/local/msmtp
make && make instal

2、mutt

CentOS系统可以直接yum下载安装

yum install -y mutt

二、配置

1、配置msmtp

配置文件:/usr/local/msmtp/etc/msmtprc

defaults
logfile /home/deer/log/msmtp.log
account deer@ideerx.com
# SMTP邮件服务器地址
host smtp.ideerx.com
protocol smtp
port 587 
# 身份认证
tls on
tls_starttls on
tls_certcheck off 
# 发送的邮件Email
from deer@ideerx.com
auth login
# 邮件服务器登录账号
user deer
# 邮件服务器登陆密码
password DeerUserPassword
# 选择默认发件账号
account default: deer@ideer.com

2、配置mutt

配置文件:/etc/Muttrc

# 设置所使用的的邮箱
set from="deer@ideerx.com"
# 设置发件软件为上节配置的msmtp
set sendmail="/usr/bin/msmtp"
set use_from=yes
# 设置自己的真实名称(会在对方显示为收件人)
set realname="iDeer"
# 设置编辑器
set editor="vi"
# log文件路径
set record="/home/deer/log/mutt.log"

三、发送邮件

1、msmtp

sudo /usr/bin/msmtp deer@ideerx.com

在弹出的窗口中输入邮件内容,然后按Ctrl + D发送邮件。

2、mutt

运维脚本中可以使用此方法,直接通过命令发送邮件

sudo echo 内容 |mutt -s 邮件标题 deer@ideerx.com -a 附件文件路径(多个文件空格隔开)