在 Centos6.5 系统默认有一个命令,mail,是一个迷你邮件客户端。 用来测试邮件服务器非常好用。


下面我们来试试如何通过这个命令连接163的邮箱服务器发送一封邮件。


1、先来到163申请一个邮箱账号,并且开通第三方邮件客户端,POP3、SMTP、IMAP.

Linux mail命令,迷你邮件客户端。


Linux mail命令,迷你邮件客户端。


2、配置 mail

/etc/mail.rc

set [email protected]              # 设置发件人信息,注:如果使用163邮箱,发件人信息必须设置和实际邮箱号一致,不然无法发送。

set smtp=smtp://smtp.163.com            # 设置邮件服务器

set [email protected]    # 设置验证用户名

set smtp-auth-password=123456           # 设置验证密码


3、调用mail发送一封邮件

mail -v [email protected]

Linux mail命令,迷你邮件客户端。


好,发送成功!


下面补充,如何使用 mail 在阿里云 ECS 环境发送 SSL 邮件


参考文章:https://www.cnblogs.com/harlanzhang/p/9109840.html


配置发送 smtps SSL 邮件,与上面有所不同,主要是增加了两个方面:

1、/etc/mail.rc 配置需要增加有关 SSL 的配置

2、需要获取SSL校验的证书


下面逐步说明


一、/etc/mail.rc 配置需要增加有关 SSL 的配置

set ssl-verify=ignore  # 忽略 SSL 校验
set [email protected]
set smtp=smtps://smtp.163.com:465  # 变成 smtps:// 并且指定 465 端口
set [email protected] 
set smtp-auth-password=123456789
set smtp-auth=login
set nss-config-dir=/home/mail  # 校验证书的存放路径


二、获取SSL校验证书

# 创建目录,用于存放证书
[[email protected] /]# mkdir /home/mail

# 向163申请证书
[[email protected] /]# echo -n | openssl s_client -connect smtp.163.com:465  | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /home/mail/163.crt
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = GeoTrust RSA CA 2018
verify return:1
depth=0 C = CN, ST = Zhejiang, L = Hangzhou, O = "NetEase (Hangzhou) Network Co.,Ltd", OU = Game Dep., CN = *.163.com
verify return:1
DONE

# 添加一个证书到证书数据库
[[email protected] /]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d /home/mail -i /home/mail/163.crt

# 列出目录下的证书
[[email protected] /]# certutil -L -d /home/mail/

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

GeoTrust SSL CA                                              C,,  

# 标记为信任
[[email protected] /]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /home/mail/ -i /home/mail/163.crt
Notice: Trust flag u is set automatically if the private key is present.


三、测试发送

[[email protected] /]# echo 'test' | mail -s test [email protected]