**做本次实验之前要配置好两台测试机的dns


  1.基本知识

   *postfix是通过SMTP(简单邮件传输协议)协议接受和转发邮件的软件

   *端口为25

   *服务日志文件 /var/log/maillog

 

  2.配置

   vim /etc/postfix/main.cf

wKiom1ki4MLRIuZsAACFR0TDsC4448.png

  

  76 myhostname = www.mail.westos.com  ##设置主机名

  83 mydomain =westos.com    ##设置域名



wKiom1ki4SKgAhv-AAAcUlIEeaw104.png

  99 myorigin = westos.com  ##设置发信源主机名称



wKiom1ki4anzJoJcAAAMTiYyNJ8767.png

  116 inet_interfaces = all   ##25端口开启对外接口,默认只在127.0.0.1上开启

 


wKiom1ki4crDrHscAAAf1SqUKTY539.png

  164 mydestination = $myhostname, $mydomain, localhost  ##接收邮件结尾字符的指定

 *另一台主机做相同配置

  测试

   westos主机向qq主机发送

wKiom1ki4muBIcIhAABtM2bqj1w892.png

  mailq    ##查看邮件队列

  postqueue -f  ##重新处理邮件队列

wKiom1ki4tvSai6JAAELfTyWyMY913.png

   qq主机向westos主机发送

wKioL1ki4yKjx6x2AABl9WDf668589.png

wKioL1ki40bQMwiVAADxCTm4Cgk639.png

 


  3.邮件别名和群发

   vim /etc/aliases

wKioL1ki5LmBAuIUAAAXbYkH6oM486.png


   admin:            root    ##别名

   别名:            真名

   moreuser:        :include:/etc/postfix/moreuser  ##群发

   别名:            记录群发到的用户文件

   vim /etc/postfix/moreuser

wKiom1ki5NeSkGdhAAAH0y3kTHU755.png

   postalias /etc/aliases   ##创建文件

   systemctl restart postfix

wKiom1ki5WDh2NxSAAAzihd-l8E187.png

   测试

    *别名

wKioL1ki5Zqw4_n0AABOdeQN3mQ341.png

wKiom1ki5bjj-z12AAEXotwQj8M781.png

给admin用户发送邮件,root用户收到

   *群发

wKioL1ki5fjRTN_bAAAuCyeyNyo549.png

wKioL1ki5i6jB_BvAAECDKG2JBU581.png

wKiom1ki5i6RQHh9AABIqc8nBqo488.png

root用户和student用户都收到邮件

  

  4.通过远程主机测试邮件服务

   telnet 172.25.254.174 25

wKioL1ki5ueD7iErAAEEhkNrihw445.png

wKiom1ki5viATlA1AAA9thOAuCM494.png


   Trying 172.25.254.174...

   Connected to 172.25.254.174.

   Escape character is '^]'.

   220 www.mail.westos.com ESMTP Postfix

   ehlo hello      ##测试连接是否可用

   250-www.mail.westos.com

   250-PIPELINING

   250-SIZE 10240000

   250-VRFY

   250-ETRN

   250-ENHANCEDSTATUSCODES

   250-8BITMIME

   250 DSN

   mail from:root@westos.com    ##邮件从root@westos主机发出

   250 2.1.0 Ok

   rcpt to:root@qq.com        ##root@qq.com主机接收邮件

   250 2.1.5 Ok

   data                  ##输入邮件内容

   354 End data with <CR><LF>.<CR><LF>

   sdf

   dfdsfa

   dsaf

   .                 ##结束输入内容并发送邮件

   250 2.0.0 Ok: queued as 49A9E24620D

   quit

   221 2.0.0 Bye

   Connection closed by foreign host.

  wKiom1ki6DLDVpBgAADCUYtwwKk335.png测试


root@qq.com主机接收到邮件



 5.限制客户端发送

   *postconf -e "smtpd_client_restrictions = check_client_access hash:/etc/postfix/access

wKioL1kjpEyiShObAAA3WQ9E2I4840.png

   配置文件/etc/postfix/main.cf会加入如下内容

wKioL1kjpJqAkapeAABWw_eW2s4470.png

  *vim /etc/postfix/access

wKioL1kjpO7jdVohAAAiiMUATz0678.png

   172.25.254.74   REJECT

   客户端IP      拒绝访问

  *postmap /etc/postfix/access   ##文件加密

  *systemctl restart postfix.service

wKiom1kjvfij6oU7AABELuDw_xI044.png

  *测试

wKioL1kjpbXglJjqAACcIaT8qS4245.png



  6.限制用户发送

  *postconf -e "smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"

wKiom1kjvhyTaIpdAAA_lCBU4nM293.png

wKioL1kjqAXhyHbbAABfdR3bcJ8766.png 

  *vim /etc/postfix/sender

wKioL1kjp4rgnUllAAAPvQoQL2Q863.png

   student@westos.com     REJECT

   用户邮箱            拒绝

  *postmap /etc/postfix/sender   ##文件加密

  *systemctl restart postfix.service 

wKioL1kjqFbhArqnAAA59RIW9eY777.png

   测试

wKioL1kjqIrDTwD3AADUqLbnVgA319.png



  7.限制用户接收

  *postconf -e "smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip"

wKiom1kjvxqjuGwPAABBuyUyCBk170.png

wKioL1kjqU7DbLy-AABYj5L0S-s799.png

 *vim /etc/postfix/recip

wKiom1kjqYjDVISbAAAOru0EhkA881.png

  westos@westos.com   REJECT

  用户邮箱         拒绝


  *postmap /etc/postfix/recip

  *systemctl restart postfix.service

wKiom1kjvvzx6ewTAAA_vKfw9vo843.png

 测试

wKioL1kjqlvS5f74AACYj8UcNfw891.png

  



  8.出站地址伪装

  *postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"

wKioL1kjqsviaW2dAAA-5wScLd0245.png

wKioL1kjqu2SdjCdAACHfMa4pgc565.png


  *vim /etc/postfix/generic

wKiom1kjqzijgtaAAAAj-rQCa_I608.png


     westos@westos.com  hello@sb.com

    真实名字         虚拟名字

  *postmap /etc/postfix/generic

  *systemctl restart postfix.service

wKioL1kjq5HRI7nZAAA6FMNP3kA731.png 

   测试

wKiom1kjq8yTvBbrAABEzPs5XCs806.png

wKiom1kjq-ug_0IQAAFFbokif_A410.png

  westsos@westos.com发出的邮件,root@qq.com收到为hello@sb.com发出的


  9.入战地址转换

  实验之前配置dns

wKioL1kjrHjTpv2KAADjpiSPeyU540.png


  *postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"

wKioL1kjv22xCVDxAAAwljlcZds068.png

  *vim /etc/postfix/virtual

wKiom1kjs7eCdoeLAAAkaMcqOhA537.png

   hello@sb.com   westos@westos.com

    虚拟名字        真实名字

  测试

wKiom1kjtCTytemRAAA8DSTDq3o997.png

wKiom1kjtDKwsSu8AADWFfxUYNM732.png

发送给hello@sb.com的邮件,westos@westos.com收到



  10.dovecot

  *接收邮件服务器

  *支持协议    协议端口

     pop3     110

     pop3s    995

     imap     143

     imaps    993   

  *yum install dovecot -y   ##安装服务

wKioL1kjtfugkIkvAAE3o_2oJWU166.png

 

  *vim /etc/dovecot/dovecot.conf

wKiom1kjtkWB4TnUAAA5Eu5CnLM590.png

 24 protocols = imap pop3 lmtp   ##加密协议是imap pop3 lmtp

wKiom1kjtnXhbMbZAABaRZ453G0977.png

 48 login_trusted_networks = 0.0.0.0/0  ##允许任何ip连接

 49 disable_plaintext_auth = no  ##允许明文登陆

 

 

 *vim /etc/dovecot/conf.d/10-mail.conf

wKiom1kjtryRa1qFAAAa6f_IknY677.png

 30 mail_location = mbox:~/mail:INBOX=/var/mail/%u   ##指定查看的用户文件 %u表示用户

 

 *systemctl restart dovecot.service 

wKioL1kjt2-go0I9AAAmeInZB-c526.png

 *在westos用户下

  [westos@www ~]$ mkdir mail/.imap -p    ##建立邮件目录

  [westos@www ~]$ touch mail/.imap/INBOX  ##建立查看的邮件文件位置

wKioL1kjvbqSK4PvAAAvh_qtaXA928.png

 *在root用户下

  [root@www Desktop]# mkdir /etc/skel/mail/.imap -p  ##自动建立邮件目录

  [root@www Desktop]# touch /etc/skel/mail/.imap/INBOX  ##自动建立查看的邮件文件位置

wKiom1kjt_KR2VdEAAA96j3PwlM425.png

  测试

   mutt -f pop://westos@172.25.254.174    ##pop表示协议

wKiom1kjuECzSKmIAAAe331CIZA714.png

wKioL1kjuGaTJYsOAAE9mf0hK9Y056.png


*选择O,然后输入westos用户密码,就可以查看172.25.254.174主机westos用户的邮件


wKiom1kjuGaRH7oxAABaOjK-s3Q061.png


  11.thunderbird

   * 管理邮件收发软件

   * rpm -ihv thunderbird   ##安装软件 

wKiom1klLveS1eBDAAC0uUeFRiY523.png

  * 添加用户

wKioL1klL0vABD4sAACj5RF699U131.png

    pop3  SMTP     ##文件传输和接收协议 

    110 25        ##发送端口和接收端口

  * 输入密码后,可以查看邮件

wKioL1klMtSxC2aaAABj2NVDV-4166.png

  * 发送邮件

wKiom1klMwDxgU5ZAAC0CFGooSg173.png

  * 接收邮件

wKioL1klMx6gknWHAACJ9RMXqV0049.png