CentOS 7 安装 Mail

Mail服务概述

Mail(邮件服务)有很多协议类型在承载邮件服务,例如最常见的:SMTP、POP3、IMAP,它们都隶属于 TCP/IP 协议

邮箱应用场景
很多时候我们在使用 Shell 监控脚本的时候(例如:Mysql,Nginx,等等),当监控的服务出现问题的需要通过邮箱(当然也可以使用微信、短信或者钉钉)通知给管理员。

SMTP协议

1、SMTP是一种推协议,即服务端向客户端发送推送请求,客户端接受,服务端发送邮件,占用服务器的25/TCP端口
2、SMTP用于将发送方的邮件服务器发送报文到接收方邮件服务器
3、当需要将邮件从接收方服务器发送到用户手中时,不能用SMTP协议,因为当用户不接受邮件时服务器会一直请求,这样会造成资源浪费,此时需要拉协议(最典型的拉协议是 HTTP 协议)如 POP 或 IMAP

POP3

1、负责从邮件服务器中检索电子邮件,占用服务器的110/TCP端口
2、可以下载邮件、从服务器中删除邮件或询问是否有新邮件

IMAP

1、IMAP是双向的,在本地的操作也会反馈到服务器,占用服务器的143/TCP端口
2、互联网信息访问协议(IMAP)是一种优于POP的新协议,它可以决定客户机请求邮件服务器提交所收到邮件的方式,请求邮件服务器只下载所选中的邮件而不是全部邮件

SMTP 常见服务器地址:

网易163:smtp.163.com
QQ:smtp.qq.com

1、安装 mailx

yum install mailx -y

2、配置

vi /etc/mail.rc

# 指定邮箱
set [email protected]

# 邮箱协议
set smtp="smtp.qq.com"

# 邮箱账号
set smtp-auth-user="[email protected]"

# 邮箱授权码,QQ邮箱后台里面去授权
set smtp-auth-password="slmuozv*****"

# 登陆方式
set smtp-auth=login

3、发送

echo "hello" | mail -s "this is a testmail" [email protected]

# 参数
-s 邮件标题
echo "hell0" 邮件的内容

# 或者通过一个文件发送
mail -s "this is test mail" [email protected] < /tmp/mail_content.txt

4、查看

CentOS 7 安装 Mail_第1张图片

通过465端口发送邮件

由于阿里云默认禁用TCP 25端口,我们可以使用465端口,使用以下命令生成并设置该证书

mkdir -p /root/.certs/

# 申请证书
echo -n | openssl s_client -connect smtp.qq.com:465 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

# 添加证书到证书数据库
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

# 信任证书
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt

# 列出目录下证书
certutil -L -d /root/.certs

1、配置文件

set [email protected]
set smtp=smtps://smtp.qq.com:465
set [email protected]
set smtp-auth-password=swxx******
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

你可能感兴趣的:(CentOS,centos)