邮件服务

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、基础配置

 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

    wKiom1klO0XglPr8AACHgJkplIo109.png   wKioL1klO1yhWMvlAAAcFTtBvZE971.png

   *)vim /etc/named.rfc1912.zones

    wKiom1klO8_yUANTAABdSK7tT6Y468.png

   *)cd /var/named

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

     vim westos.com.zone

    wKiom1klPFiz7c46AABotc1fvDo459.png

   ##对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  

    

wKioL1klPYnj8hAnAABXrF8CH8w506.png

 wKioL1klPZuQvEm1AABS9C7f09A372.png

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

  

 测试:

   dig -t mx  qq.com 

   wKiom1klPf2BFPHnAAEH6Bqezvs552.png

 dig -t mx westos.com

 wKiom1klPhSS1T6lAAESoLGsM6Q219.png

二、postfix

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

   默认端口25

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

   Subject : hello       ##邮件标题

   hello world          ##邮件内容

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

  wKiom1klPtDBDzifAAA1piHji_A287.png

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

  wKioL1klPvThJAnXAABwr2UMvek783.png

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

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

     netstat -antlpe | grep master

   wKiom1klP6qSlradAABbL6nJznI830.png

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

  2.配置

  *) vim /etc/postfix/main.cf

   wKioL1klQELxMtvdAAA0ZQ533go742.png

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

   wKiom1klQG6BKZCEAAAcyH3c7jI483.png

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

   wKiom1klQIugRFi0AAAsq8BtZKw073.png

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

   wKiom1klQK-Ci80vAACLxqfo04s145.png

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

     ## 83行## 指定mta域名

   编辑完成后:

     systemctl restart postfix    ##重启postfix服务

      systemctl stop firewalld     ##关闭火墙服务

 

三、 邮件别名及邮件群发

 1.邮件别名

   vim /etc/aliases

  soo:      root     ##邮件别名更改

  别名       真名

  测试:

  wKiom1klQxXDrHWsAAAhjCVraBE419.png

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

  wKiom1klQ0zgoGdCAAD69e1FsWc773.png

  ##邮件接收成功

 2.邮件群发

  vim /etc/aliases

  moreuser:             :include:/etc/postfix/moreuser 

  别名                  :include:filename

  wKioL1klRAChAwLhAAAi5iRe26I297.png

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

   user1

   user2  

  邮件群发测试:

   mail moreuser@westos.com

  wKiom1klRJCwocvTAAAzLCWh5BE392.png

   ##发送成功

    wKiom1klRNaDnYVuAACBOoNYZTQ797.png

   ##root用户接受邮件成功

 wKiom1klRPiAtPu0AABlu6JBl4o482.png

   ##student用户接受成功

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

 1.yum  install telnet

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

 wKiom1klRXbB3j6VAADwcscO6vE122.png

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

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

  data         ##开始邮件编写

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

  wKioL1klRhXg-LOsAAD2gHZMfP4128.png五、邮件客户端的远程访问控制

 1.限制客户端登录

  wKioL1klRnCg_-xaAAAmhZJ-vGs086.png

  vim /etc/postfix/access

   wKioL1klRpei6gwDAAAhMwRNQNo861.png

  ##禁止172.25.254.151主机远程连接

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

  wKioL1klRuqiviYgAABxyGSbIYA529.png

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

  wKioL1klR03hzDdYAACE_a535A0980.png

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

 2.限制用户发送

  wKiom1klR6LTrmuPAABxVudaIlk796.png vim /etc/postfix/sender

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

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

  wKioL1klSAnzWypJAABcRCKQLOw523.png

  测试:

   wKiom1klSDWiLSV-AACGJH8GlbI590.png

 3.限制用户接收

 vim /etc/postfix/main.cf

  wKioL1klSGuCmSykAABCK3Bb-JE395.png vim /etc/postfix/recip   

  wKiom1klSJyzhjRgAAAR7gVU1d8357.png ##禁止westos@westos.com用户接收邮件

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

  systemctl  restart postfix  ##重启服务

 测试:

  wKiom1klSRWDRfm3AACiKRhz2Dk655.png

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

   wKioL1klSULikgTWAACG7mGFFos863.png

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

 

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

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

   vim /etc/postfix/generic

   wKioL1klSfKSzbzKAABHEdNJ3n8845.png

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

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

  systemctl  restart   postfix

 测试:

  发送邮件

   wKioL1klSljxNMRPAABcG72ajYA249.png

   接收邮件

   wKioL1klSnbgUe8xAADLVljElAs935.png 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  这个域名进行解析配置

 

 测试:

 wKioL1klS3yRYjdvAAApL5MSVbY477.png

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

 *********

  wKioL1klS8DzO7O6AADaihqdiZA565.png

   ##邮件接受成功

 

七、 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

  wKiom1klTpSBaN7-AABENre9ue4155.png

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

  wKioL1klTvaAYd93AABcvjeeI1c469.png 

 八、雷鸟邮件接收的应用

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

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

  wKioL1klVNvDV2X_AAC6Kvym7MI384.png

 wKiom1klVO_DRkf6AAB2n6mCxZY141.png  ##建立用户后尝试发送邮件

  wKiom1klVRXTQXUZAADP-WLv28Q398.png

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

   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服务,利用网页管理数据库在数据库中建立新的库及表,网页管理数据库方法请查找以前的博客

   wKiom1klVzqhykmSAAE5ITMwP94402.png

  wKiom1klWaiTgGQdAAFDEU_1tqU096.png

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

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

  wKiom1klWYiy6O1CAAA94eI4XbA548.png

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

   wKiom1klWWjhC2oHAADRnxsuCxk665.png

 4.vim  /etc/postfix/mailuser.cf

  wKioL1klWjejyEhEAABd-hzrtKg193.png

  vim /etc/postfix/maildomain.cf

  wKioL1klWl7guO7SAABbRY46XT0787.png

  vim /etc/postfix/mailbox.cf

  wKiom1klWo2wxEhaAABenPYgyog111.png

  5.配置postfix

   groupadd -g  311  vmail  ##建立vmail组

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

   vim /etc/postfix/main.cf

    wKioL1klW9ehnH7SAADPDowPC8U932.png

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

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

    wKiom1klXMrQkDwjAABJxpDAHrE678.png

    wKiom1klXNrRC0N6AAEExyRnTiQ444.png

 

十、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


测试:

  wKioL1kuXsuyU52uAACGRjugghY508.jpg

 

十一、空壳邮件

  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


测试:

 wKiom1kuX7bT3QTQAAAk5kea3oM456.jpg

 wKioL1kuX8SAMv0LAAD18Fclza4302.jpg



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

相关文章
|
4月前
|
消息中间件
Rabbimq发送邮件并消费邮件
Rabbimq发送邮件并消费邮件
470 3
Jamil+c#—实现邮件的发送
Jamil+c#—实现邮件的发送
130 0
Jamil+c#—实现邮件的发送
|
Java 开发者
邮件任务|学习笔记
快速学习邮件任务
67 0
邮件任务|学习笔记
阿里云如何添加邮箱解析来实现收发邮件服务
当你买域名后,要在阿里云添加邮箱解析,邮箱解析是把域名指向邮箱的服务器地址,实现邮箱的收发邮件服务。一、联系邮箱提供商,获取邮箱解析记录,这部分数据一般在邮箱提供商帮助文档里有,要么就和客服索要。二、添加解析操作步骤 1、联系邮箱提供商,获取邮箱解析地址记录。
上班族用哪个邮箱好用,如何正确使用邮件工作?
随着现代信息社会工作节奏越来越快,无纸化办公成为未来发展的趋势。职场工作沟通,邮件是很重要的方式,虽然没有电话或者面对面沟通来的直接,但是邮箱在职场中不仅是交流的工具, 作为职场新人,选择好用的工作邮箱以及正确使用邮件工作都是非常重要的。
4403 0
|
移动开发 C++
用C++发邮件
近段时间,实验室电脑的IP频繁地改变,搞得想用远程偷下懒都不行。这时想到的解决方法有:静态IP,动态域名,自己解决。静态IP虽然可以自己指定,但一关机后,与对方冲突就完了,作罢。免费的动态域名又要手机认证,也作罢。
1394 0