天天看点

邮件服务

一、基础配置

 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  

<a href="https://s2.51cto.com/wyfs02/M00/96/C5/wKioL1klPYnj8hAnAABXrF8CH8w506.png" target="_blank"></a>

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

 测试:

   dig -t mx  qq.com 

 dig -t mx westos.com

二、postfix

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

   默认端口25

   mail [email protected]    ##邮件接收方

   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     ##邮件别名更改

  别名       真名

  测试:

  ##利用别名给[email protected]发送邮件

  ##邮件接收成功

 2.邮件群发

  vim /etc/aliases

  moreuser:             :include:/etc/postfix/moreuser 

  别名                  :include:filename

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

   user1

   user2  

  邮件群发测试:

   mail [email protected]

   ##发送成功

   ##root用户接受邮件成功

   ##student用户接受成功

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

 1.yum  install telnet

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

  mail from:[email protected]    ##从westos主机中发送邮件

  rcpt to:[email protected]      ##由qq主机接受邮件

  data         ##开始邮件编写

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

 1.限制客户端登录

  vim /etc/postfix/access

  ##禁止172.25.254.151主机远程连接

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

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

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

 2.限制用户发送

   [email protected] REJECT      ##禁止student用户发送

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

 3.限制用户接收

 vim /etc/postfix/main.cf

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

  systemctl  restart postfix  ##重启服务

   ##[email protected]用户可以发送邮件

  ##[email protected]用户不能接收邮件

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

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

   vim /etc/postfix/generic

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

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

  systemctl  restart   postfix

  发送邮件

   接收邮件

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

  vim /etc/postfix/virtual

   [email protected]       [email protected]

    虚拟名字            真实名字

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

  systemctl restart  postfix   ##重启服务

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

  ##利用qq给[email protected]  发送邮件

 *********

   ##邮件接受成功

七、 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://[email protected]

  ####按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 [email protected] ##给[email protected]用户发送邮件

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

十、dovecot+mysql

 yum install dovecot dovecot-mysql -y  ##安装邮件接收软件

 vim /etc/dovecot/dovecot.conf     ##配置主配置文件

 24 protocols = imap pop3 lmtp    ##支持的认证方式 lmtp加密协议

 48 login_trusted_network = 0.0.0.0/0     ##信任网络(允许所有人连接)

 49 disable_plaintext_auth = no      ##允许明文认证

 vim  /etc/dovecot/conf.d/10-auth.conf

  123 include auth-sql.conf.ext        ##开启mysql认证方式

 cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext  /etc/dovecot/dovecot-sql.conf.ext

  vim /etc/dovecot/dovecot-sql.conf.ext

  32 driver = mysql

  71 connect = host=localhost dbname=email user=postuser password=postuser ##查询时用到的库

  78 default_pass_scheme = PLAIN

 107 password_query = \

 108  SELECT username,domain,password \

 109  FROM emailuser WHERE username = '%u' AND domain = '%d'

 125 user_query = SELECT maildir, 311 AS uid, 311 AS gid FROM eamiluser WHERE username = ‘%u’      ##查询邮件内容

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

  30 mail_localtion = maildir:/home/vmail/%d/%n     ##指定邮件位置

 168 first_valid_uid = 311

 175 first_valid_gid = 311

 systemctl restart dovecot

测试:

十一、空壳邮件

  vim /etc/postfix/main.cf

  76 myhotsname = nullmail.example.com

  83 mydomain = example.com

  99 myorigin = westos.com      ##172.25.254.128的域名

 113 inet_interface = all

 164 mydestination = 

 316 relayhost = 172.25.254.128

本文转自 昭He浅墨 51CTO博客,原文链接:http://blog.51cto.com/502703956/1929098,如需转载请自行联系原作者