link 发表于 2019-4-17 18:30:27

CentOS 7中配置Mail

  1、Mail服务概述
Mail(邮件服务)有很多协议类型在承载邮件服务,例如最常见的:SMTP、POP3、IMAP,它们都隶属于TCP/IP协议簇
https://s1.运维网.com/images/blog/201902/11/6e05f8f536e581ceb7ea9a818dfc8a9f.png
  邮箱应用场景
很多时候我们在使用shell监控脚本的时候(例如:Mysql,nginx,等等),当监控的服务出现问题的需要通过邮箱(当然也可以使用微信、短信或者钉钉)通知给管理员。
  SMTP协议

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

  POP3

  1、负责从邮件服务器中检索电子邮件
2、可以下载邮件、从服务器中删除邮件或询问是否有新邮件

  IMAP

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

  SMTP常见服务器地址:

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

  2、Mail用户端邮箱设置
以163邮箱为例子,需要开启SMTP协议,并且开启客户端授权码。
  1.首先先登录到163邮箱
https://s1.运维网.com/images/blog/201902/11/376f5b24e186583285f56597c861dee6.png
  2.页面中间的设置展开,点击选项POP3/SMTP/IMAP
https://s1.运维网.com/images/blog/201902/11/844a8ca1975aa922d3128ee725011140.png
  3.选择对应的邮箱协议,文中使用的是SMTP协议
https://s1.运维网.com/images/blog/201902/11/44a2bdb5107a681fa14e647649f0efb5.png
  4.选择点击左侧选项客户端授权密码
https://s1.运维网.com/images/blog/201902/11/eadc7eee5d8b68ad27d19a2aced50e6d.png
  5.默认情况下客户端授权码是处于关闭状态的,点击开启,邮箱如果绑定了手机号,会弹出验证码会话框,需要用户手机接受手机验证码,并输入接受到的手机验证码
https://s1.运维网.com/images/blog/201902/11/7ad3057db8fb0bdace9d766277745764.png
  6.用户自行输入自定义的客户端授权码,然后点击完成
https://s1.运维网.com/images/blog/201902/11/48b02a70b335aaf706690dbc3c8bffb2.png
  7.输入客户端授权密码后,会弹出对话框,让用户选择开启的邮箱协议,保持默认即可,点击完成
https://s1.运维网.com/images/blog/201902/11/f64401eb898aaa64fb22223a4c012e25.png
  8.客户端授权密码设置完成
https://s1.运维网.com/images/blog/201902/11/f7eda3b9872419ef3b37095d8cc8bb74.png
  3、配置mail基于SMTP
配置基于SMTP的mail服务注意事项

  1、邮箱需要开启SMTP功能,每个邮箱开启的方法都差不多
2、现在很多邮箱使用SMTP都需要开启授权码来代替邮箱密码

  1.系统环境

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
# uname -r
3.10.0-693.el7.x86_64
  2.安装mail相关软件

# yum install sendmail mailx -y
# rpm -qa |grep -E "sendmail|mailx"
mailx-12.5-19.el7.x86_64
sendmail-8.14.7-5.el7.x86_64
  3.修改/etc/mail.rc配置文件,在文件尾部添加如下内容

# vim /etc/mail.rc
set from="jasonminghao@163.com"
set smtp=smtp.163.com
set smtp-auth-user="jasonminghao@163.com"
set smtp-auth-password="xmhtestmail123"
set smtp-auth=login
配置参数详解:
set from=xxx@163.com                #你的邮箱
set smtp="smtp.163.com"             #指定邮箱使用的协议
set smtp-auth-user="xxx@163.com"    #与第一行的一致
set smtp-auth-password="aaaaaaa"    #这里等号后面填写的是你的邮箱客户端授权密码
set smtp-auth=login               #登录方式
  4.mail发送邮件(两种方法)

# mail -s "邮件标题" 收件人邮件地址 < 文件
# mail -s "test by mail" 760966297@qq.com

deadwalkings 发表于 2019-4-18 13:16:23

感谢分享
页: [1]
查看完整版本: CentOS 7中配置Mail