Drollery Medieval drollery of a knight on a horse

🏆 欢迎来到本站: https://xuchangwei.com/希望这里有你感兴趣的内容

flowery border with man falling
flowery border with man falling

Linux: 邮件

mutt+msmtp做linux邮件客户端

MUTT和MSMTP

登录163的邮件服务器发邮件。为什么非要登录163邮箱呢?因为我测试过qq邮箱、yahoo还有sina的邮箱都发布出去,只有163的一连就通了,我估计是邮箱设置里验证的关系,也不想去深研究他了。下面给出具体步骤

首先去163申请个免费邮箱,收费免费都一样

1.MSMTP安装

centos6

wget http://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.17.tar.bz2

centos7

wget http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.6.5/msmtp-1.6.5.tar.xz

tar xvf msmtp-1.4.17.tar.bz2 
cd msmtp-1.4.17 
./configure --prefix=/usr/local/msmtp  --with-ssl=openssl
make && make install 
cd /usr/local/msmtp/ 
mkdir etc #配置文件目录和配置文件都要自己建 
cd etc 

1 创建配置文件

cat /usr/local/msmtp/etc/msmtprc
# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
timeout 10

# The SMTP server of the provider.
account acc1
# SMTP邮件服务器地址
host smtp.ym.163.com
# 发送的邮件Email
from [email protected]
auth login
# 邮件服务器登录账号
user [email protected]
# 邮件服务器登陆密码
password 1qaz@WSX3edc

# ssl
#port 994
tls on
tls_certcheck off
#使用网易邮箱必须有下面这句
tls_starttls off

# Set a default account
account default : acc1

2 简单测试一下

/usr/local/msmtp/bin/msmtp [email protected]

随便输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件

3 异常处理

异常:msmtp: the server sent an empty reply

解决方法:tls_starttls off

异常:msmtp: TLS certificate verification failed: the certificate hasn’t got a known issuer

解决方法:证书有误,tls_certcheck off,或者重新创建证书,然后配置证书。

异常:msmtp: account zlebank from /usr/local/mutt/etc/msmtprc: tls requires either tls_trust_file (highly recommended) or tls_fingerprint or a disabled tls_certcheck

解决方法:tls_certcheck off,或者创建证书,然后配置证书: tls_trust_file [你的证书路径]

异常:msmtp: support for TLS is not compiled in

解决方法:yum -y install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel

一键配置msmtp+mutt发送TLS邮件

将install.sh里的邮箱密码改为自己的邮箱密码。

执行install.sh前需下载依赖 yum -y install ncurses-devel gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel

2. 安装 MUTT

如果是CentOS的话直接用yum就好了

yum install mutt

1 修改配置文件,

vim /etc/Muttrc

set hostname=jenkins01
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="互动作业_Android"
set editor="vim"
set charset="utf-8"

简单的4行就可以了

2 测试

echo "testmail" | mutt -s "测试" [email protected] -a /etc/hosts 

-a 是指添加附件,如果是多个附件的话就 多加几个 -a 文件名

mutt -s "测试" -a /etc/hosts -a /etc/apple [email protected] < /tmp/imax.txt

这个的意思就是以 /tmp/imax.txt 文件的内容作为邮件内容。