首页 > 代码库 > 邮件服务

邮件服务

一、基础配置

 1.需要两台环境纯净的虚拟机

 2.更改主机名分别为   westos-mail.westos.com   和  qq-mail.qq.com

 3.配置两台虚拟机的yum源,使两台虚拟机可以下载服务

******在westos-mail主机中的操作:**********

  *)安装bind服务并开启

   yum  install  bind  -y   ##下载bind服务 

   systemctl  start  named    ##开启服务

  *)vim  /etc/named.conf

    技术分享   技术分享

   *)vim /etc/named.rfc1912.zones

    技术分享

   *)cd /var/named

    cp -p named.localhost  westos.com.zone    ##复制模板文件。-p不改变文件权限复制

     vim westos.com.zone

    技术分享

   ##对westos.com域进行解析

  cp -p westos.com.zone  qq.com.zone

  vim qq.com.zone

   ##编辑qq.com.zone解析文件。将文件中的westos更换成qq,将解析的ip地址改为qq-mail.qq.com的ip即可,

   ###以上所有操作完成了对westos.com   和 qq.com的域名解析

  systemctl  restart named   ##重启named服务

  *)vim /etc/resolv.conf  

    

技术分享

 技术分享

  ##在两台虚拟中编辑resolv.conf文件,更改dns解析地址

  

 测试:

   dig -t mx  qq.com 

   技术分享

 dig -t mx westos.com

 技术分享

二、postfix

  1.postfix提供smtp协议用来投递邮件

   默认端口25

   mail root@westos.com    ##邮件接收方

   Subject : hello       ##邮件标题

   hello world          ##邮件内容

   .                 ###“.” 用来结束录入内容并发送

  技术分享

 mailq    ##查看邮件队列,邮件是否发送成功

  技术分享

     ##上图表示发送失败,原因是qq.com主机的25端口没有开放,拒绝连接

 *)查看25端口使用情况的命令

     netstat -antlpe | grep master

   技术分享

   ##上图表示该主机中的25端口对所有人开放,默认情况下25端口只对127.0.0.1内循坏上开启

  2.配置

  *) vim /etc/postfix/main.cf

   技术分享

     ##接收邮件结尾字符的指定

   技术分享

     ##25端口开启的网络接口

   技术分享

     ##指定邮件来源结尾(@后面的字符内容)

   技术分享

     ## 76行## 指定mta主机名称

     ## 83行## 指定mta域名

   编辑完成后:

     systemctl restart postfix    ##重启postfix服务

      systemctl stop firewalld     ##关闭火墙服务

 

三、 邮件别名及邮件群发

 1.邮件别名

   vim /etc/aliases

  soo:      root     ##邮件别名更改

  别名       真名

  测试:

  技术分享

  ##利用别名给root@qq.com发送邮件

  技术分享

  ##邮件接收成功

 2.邮件群发

  vim /etc/aliases

  moreuser:             :include:/etc/postfix/moreuser 

  别名                  :include:filename

  技术分享

  vim /etc/postfix/moreuser  #3邮件将群发给该文件中的用户

   user1

   user2  

  邮件群发测试:

   mail moreuser@westos.com

  技术分享

   ##发送成功

    技术分享

   ##root用户接受邮件成功

 技术分享

   ##student用户接受成功

四、远程控制主机发送邮件

 1.yum  install telnet

 telnet 172.25.254.128 25   ##利用25端口远程控住128主机

 技术分享

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

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

  data         ##开始邮件编写

  ##邮件接受验证: (成功接收)

  技术分享五、邮件客户端的远程访问控制

 1.限制客户端登录

  技术分享

  vim /etc/postfix/access

   技术分享

  ##禁止172.25.254.151主机远程连接

  postmap  /etc/postfix/access   ##加密access文件,机密会后会生成一个access.db文件

  技术分享

  测试:利用151主机远程连接128并进行邮件发送

  技术分享

  ##发送失败,权限不够无法发送

 2.限制用户发送

  技术分享  vim /etc/postfix/sender

   student@westos.com REJECT      ##禁止student用户发送

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

  技术分享

  测试:

   技术分享

 3.限制用户接收

 vim /etc/postfix/main.cf

  技术分享  vim /etc/postfix/recip   

  技术分享 ##禁止westos@westos.com用户接收邮件

 postmap /etc/postfix/recip   ##加密配置文件

  systemctl  restart postfix  ##重启服务

 测试:

  技术分享

   ##westos@westos.com用户可以发送邮件

   技术分享

  ##westos@westos.com用户不能接收邮件

 

六、出站地址伪装及入站地址转换

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

   vim /etc/postfix/generic

   技术分享

  ##真用户名              ##伪装后用户名

 postmap  /etc/postfix/generic     ##加密文件

  systemctl  restart   postfix

 测试:

  发送邮件

   技术分享

   接收邮件

   技术分享 2.入站地址转换

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

  vim /etc/postfix/virtual

   hello@soo.com       westos@westos.com

    虚拟名字            真实名字

  postmap  /etc/postfix/virtual  ##加密文件

  systemctl restart  postfix   ##重启服务

 

 ####在westos主机上对soo.com  这个域名进行解析配置

 

 测试:

 技术分享

  ##利用qq给hello@so.com  发送邮件

 *********

  技术分享

   ##邮件接受成功

 

七、 dovecot

 1.dovecot    用来提供收件协议

   pop3       110

   imap       143  

   imaps      993

   pop3s      995

给定用户名称,用户密码,dovecot程序代我们去去看邮件

  2.yum  install dovecot  -y   ##安装dovecot服务

     vim /etc/dovecot/dovecot.conf

   24 protocols = imap pop3 lmtp          ##使用的协议

   48 login_trusted_networks = 0.0.0.0/0    ##允许所有网络登录

   49 disable_plaintext_auth = no         ##开启明文验证

   30 mail_localtion = mbox:~ /mail:INBOX=/var/mail/%u   ##邮件存放地址

 

  systemctl restart  dovecot  ##重启服务

#####

  建立用户soo并切换到soo用户

  mkdir mail/.imap/ -p   ##递归在soo家目录下建立mail .imap 目录

  touch mail/.imap/INBOX   ##在.imap目录下建立INBOX文件

 测试:

  在别的主机安装  yum  install  mutt  -y   安装 mutt服务

  mutt  -f  pop://soo@172.25.254.128

  技术分享

  ####按o 输入密码进入

  技术分享 

 八、雷鸟邮件接收的应用

 *)找到雷鸟安装包,安装雷鸟

 *)在应用中找到雷鸟并打开

  技术分享

 技术分享   ##建立用户后尝试发送邮件

  技术分享

九、利用数据库对邮件存放进行管理

   1.mv /etc/postfix/main.cf /mnt/    ##备份main.cf文件到mnt目录

   yum  reinstall  postfix     -y  ##重新安装postfix生成新的main文件

   安找###postfix##配置main.cf文件

   yum  install  httpd php php-mysql  mariadb-server -y  #安装所需服务

   systemctl start mariadb    ##开启数据库服务器

   vim /etc/my.cnf

    skip-networking=1

   2.安装php服务,利用网页管理数据库在数据库中建立新的库及表,网页管理数据库方法请查找以前的博客

   技术分享

  技术分享

  3.mysql  -uroot -predhat  ##root用户进入数据库

   create user postuser@localhost identified by ‘postuser‘  建立新的数据库用户本地postuser,密码为postuser

  技术分享

   grant select,update,insert on mail.* to postuser@localhost;  ##给予postuser用户权限

   技术分享

 4.vim  /etc/postfix/mailuser.cf

  技术分享

  vim /etc/postfix/maildomain.cf

  技术分享

  vim /etc/postfix/mailbox.cf

  技术分享

  5.配置postfix

   groupadd -g  311  vmail  ##建立vmail组

   useradd -s  /sbin/nologin -u  311  vmail -g  311  ##建立用户vmail

   vim /etc/postfix/main.cf

    技术分享

测试:mail soo@soo.com ##给soo@soo.com用户发送邮件

    cat /home/vmail/mnt/soo.com/soo/new/

    技术分享

    技术分享

  

邮件服务