Linux_Centos使用mutt+msmtp发送邮件


一、软件环境
1、centos 6.5
2、msmtp-1.4.32
3、Mutt 1.5.20 (2009-12-10)

二、实现步骤
1、安装配置Mutt
$ yum install mutt -y
$ cat >>/etc/Muttrc<<EOF

直接复制以下内容粘贴在>号的位置并回车即可

set sendmail="/usr/local/msmtp/bin/msmtp"set use_from=noset realname="12345@qq.com"set editor="vim"
EOF

2、安装配置msmtp
$ yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel -y
$ wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2
$ tar -jxvf msmtp-1.4.32.tar.bz2
$ cd msmtp-1.4.32$ ./configure --prefix=/usr/local/msmtp$ cd msmtp-1.4.32$ make && make install

$ mdkir /usr/local/msmtp/etc

生成配置文件

$ cat >>/usr/local/msmtp/etc/msmtprc<<EOF

直接复制以下内容粘贴在>号的位置即可

defaults
tls on
logfile /usr/local/msmtp/msmtp.log

account acc1
host smtp.163.com 
port 25from hello@163.com(发送邮箱的账号或昵称)
auth login
tls off 
user hello@163.com(发送邮箱的账号)
password mypasswd(发送邮箱的密码或授权码,下面会说怎样获取授权码)


account default : 1
EOF

配置文件里面有一些需要注意的地方:

网易免费邮箱的ssl证书通不过验证,所以使用163邮箱时,只能关闭tls证书验证。(语句:tls off)

该配置文件不支持中文,也不能粘贴中文注释,否则必报错。

3、测试邮件发送
my@163.com为接收的邮箱
$ echo "这里是正文" |mutt -s "这里是标题" my@163.com
三、异常情况
1、测试时无法发送邮件,并抛异常
 解决方法:将获取的授权码赋给2.2中的mypassword

2、msmtprc配置文件直接粘贴使用记事本打开可能会有多个键值对连接在一起,需要用空格分开,以下是参考
defaults
tls on
logfile /usr/local/msmtp/msmtp.log

account acc1
host smtp.163.com 
port 25
 from XX@163.com
 auth login 
tls off 
user XX@163.com 
password XX
 
account default:acc1


四、参考资料







posted @ 2016-06-30 11:46    阅读(297)  评论(0编辑  收藏  举报