linux msmtp + mutt + ssl 邮件发送
原创    xingfu2017    发表于:2017-11-29 09:58:30
  阅读 :177   收藏   编辑

概述:

  • msmtp是一个linux系统下的SMTP客户端,专门负责邮件发送的客户端软件,支持TLS/SSL、DNS模式、IPv6、服务器端认证、多用户等特性,
    一般情况下,msmtp把邮件送给负责发邮件的SMTP服务器,如163,qq等,我们需要建立一个包含邮件账号和密码等相关的信息msmtp配置文件,
    并且让邮件用户代理客户端(本篇文件使用mutt)来启用msmtp程序

    msmtp主页:http://msmtp.sourceforge.net/

  • mutt是linux下的一个email程序,它本身是不能直接发送邮件的,mutt更像一个email管理器,我们可以称它为一个邮件用户代理(MUA),如果需要
    发送邮件,它需要结合邮件传输代理来实现,比如比较流行的sendmail,mailx,postfix,msmtp 等,

    mutt 主页:http://www.mutt.org/

安装系统环境:阿里云centos6.5,64位专有网络,ps:阿里云的专有网络中的25端口被禁掉了,推荐使用465(smpts)端口

安装:

msmtp版本:1.6.6、这里使用源码安装的方式
wget https://downloads.sourceforge.net/project/msmtp/msmtp/1.6.6/msmtp-1.6.6.tar.xz

tar -xvf msmtp-1.6.6.tar.xz 

cd msmtp-1.6.6

#因我们需要使用ssl发送,需要安装openssl-devel,已安装的忽略

yum install openssl-devel
./configure --prefix=/usr/local/msmtp --with-tls=openssl

注意 Install prefixTLS/SSL support

#编译安装
make
make install

#切换到/usr/local/msmtp

#新建文件夹etc
mkdir etc

cd etc
使用vi新建(msmtprc )配置文件

msmtprc 内容如下:

# set default values for all following accounts.

defaults

logfile /usr/local/msmtp/msmtp.log

timeout 10

tls on

tls_certcheck off

# The SMTP server of the provider.

account test

# SMTP邮件服务器地址

host smtp.exmail.qq.com

# 发送的邮件Email

from xx@xx.com

auth login

# 邮件服务器登录账号

user xx@xx.com


# 邮件服务器登陆密码

password xx

# Set a default account

account default : test
发送测试邮件
/usr/local/msmtp/bin/msmtp xx@xx.com
按ctrl + d 发送

mutt 安装

yum -y install mutt

#查找配置文件

find / -name "*Mutt*"

#一般在 /etc/目录下 的Muttrc文件
vim /etc/Muttrc

新增如下内容

# 设置发信地址和用户名

set from = "发送邮件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set realname = "发件人"
set use_from = yes
set charset="utf-8"
set editor="vi"

其中
sendmail设置发送邮件的客户端程序,
editor设置mutt调用的编器辑

使用mutt发送邮件
echo "邮件内容" | mutt -s "邮件主题" xx@xx.com
把邮件内容先保存到文本( msg )中,使用如下发送
cat msg | mutt -s "邮件主题" xx@xx.com
群发
echo "邮件内容" | mutt -s "邮件主题" xx@xx.com xxx@xxx.com
发送附件 加参数 -a msg 这里我们把 msg这个文件作为附件发送
echo "邮件内容" | mutt -s "邮件主题" xx  -a msg
评论
条评论