设为首页 收藏本站
查看: 3757|回复: 0

[经验分享] Postfix邮件服务器的原理和postfix + dovecot配置,使用Thunderbird发送邮件和SMTP认证

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-31 08:51:56 | 显示全部楼层 |阅读模式
1、邮件的基本概念
MUA:邮件用户代理,客户端收发邮件的软件
MTA:邮件传输代理,服务器上的部署邮件服务器的软件
MDA:邮件投递代理,在邮件服务器上将邮件存放到相应的位置
MRA:邮件收取代理,为MUA读取邮件提供标准接口,主要使用POP3和IMAP协议
2、常用的MUA与MTA
MUA:Outlook、Mozilla Thunderbird、Foxmail
MTA:Sendmail、Postfix、Qmail、Exchange Server
3、邮件传递原理
发送邮件时:
   用户通过MUA将邮件投递到MTA
   MTA首先将邮件传给MDA
   MDA会根据邮件收件人的不同采取不同的方式处理
      收信人和发信人来自同一域:MDA将邮件存放到对应邮件存放地点
      收信人和发信人来自不同域:MDA将邮件还给MTA
      MTA通过DNS查询到收件人MTA的IP地址
      将邮件投递到收件人MTA
      收件人所在区域MTA将邮件投递到MDA
      MDA将邮件存放到对应邮件存放地点
接受邮件时:   
   用户通过MUA连接MRA
   MRA在邮件存放地点将邮件收取,并传递回MUA
4、邮件中继
MTA收到邮件有两种处理方式,其中一种是向外投递邮件,这个就是中继。
当MTA投递邮件时,邮件的收件人和发件人都不是MTA所在区域,这个叫第三方中继
5、邮件相关协议
SMTP:简单邮件传输协议    TCP    25
POP3:邮局协议版本3    TCP    110
POPs:提供加密的POP3    TCP    995
IMAP:交互邮件访问协议    TCP    143
IMAPs:提供加密的IMAP    TCP    993
6、SMTP认证
SASL简单身份验证和安全层

7.邮件服务配置文件内容的解释
#inet_interfaces = localhost     //监听接口
22 myhostname = mail.tarena.com     //邮件服务器主机名
23 mydomain = tarena.com            //邮件服务器所在区域
24 myorigin = $mydomain             //发件人DNS后缀            
25 mydestination = $mydomain        //指定Postfix允许处理的邮件
26 home_mailbox = Maildir/         //邮箱类型
27 mynetworks = 192.168.10.0/24     //设置允许哪些客户端直接将需要转发到外部区域的邮件提交给Postfix

实验环境:
1.由于邮件服务器@后跟域名所以首先 搭建DNS服务器。

2.邮件服务信息,邮件服务器 :mail.tarena.com    IP地址:192.168.1.20,邮件的账号为服务器的系统用户。
3.主要软件: 发信服务软件:postfix    收信服务软件:dovecot
实验(一)
搭建DNS服务器要求192.168.1.20可以解析mail.tarena.com的条目

安装软件包

wKiom1Xf4wqTLcaaAABmVUBtGTI082.jpg
wKioL1Xf5S7SNR_-AABOhNrQx0k433.jpg
修改主配置 文件/etc/named.conf

wKiom1Xf42HzSDyHAAF18cl9bec397.jpg

wKiom1Xf422TdXdQAAByIBZUNfg039.jpg
修改区域文件(邮件服务 标志为MX )

wKioL1Xf5eSzMsMmAABtYVbQrv8055.jpg
wKiom1Xf5CTx3YoZAAJoIQyKq-8224.jpg
检查配置文件和区域文件配置是否有错误
wKioL1Xf5sWg6N22AAER-gQMmZk434.jpg

重启服务并进行测试
wKiom1XgF5mzeD-AAAGmC98Yv8o709.jpg
wKiom1Xf5Pjx3IqHAAED1dd_fkA844.jpg
wKiom1XgF_TBgMypAAB5lzhKnZE986.jpg
实验(二)
实验目的:构建postfix发信服务器(SMTP协议,TCP   25端口)
1.查看软件包是否已经安装,如果没有安装 用YUM安装就可以。
wKiom1XgGKOTMkHLAABlSz2MkQg996.jpg
2.修改主配置文件,把主配置文件做一个备份为main.cf.bak  ,更改非默认配置文件。

postconf -n  为非默认配置,只需要更改非默认配置文件就可以。用非默认配置文件重新生成一个main.cf主配置文件,对新生成的文件进行操作。
wKiom1XgHFjS7V7CAADlunUdHFI397.jpg


wKioL1XgHrHR6pb6AADWQzdAe18562.jpg
wKiom1XgIkHwnanUAAA-EKJjoaM134.jpg
wKioL1XgJGXiDI3mAABPrJFU3l0648.jpg
wKiom1XgKOnTGA3ZAADY6K9I0gc444.jpg
inet_interfaces默认监听的端口为本地回环地址,把它注释掉,就是监听任何地址
3.重启服务
wKioL1XgJTTyB8bfAAFUeB0Y8zY094.jpg
wKiom1XgI0LwUOcHAABI_AnXByk874.jpg
4.添加电子邮箱账号nick 和hunter
wKioL1XgJeOAHF1aAAHQOhh_cV8936.jpg
5.使用telnet测试发信(nick给hunter发信),用客户端192.168.1.30测试(在/etc/resolv.conf添加DNS服务器的地址。
wKiom1XgJSmQSi-BAAEyYR-nQQs895.jpg
wKiom1XgJkngSfboAAFxXnSOEqg678.jpg

wKiom1XgJ33DUmXLAAJb1KwP8Eg966.jpg
220 mail.tarena.com.com ESMTP Postfix
HELO localhost                  //宣告客户端的主机地址
250 mail.tarena.com.com
MAIL FROM:nick@tarena.com         //指定发件人地址
250 2.1.0 Ok
RCPT TO:hunter@tarena.com          //指定收件人地址
250 2.1.5 Ok
DATA                      //表示要开始写邮件内容了
354 End data with <CR><LF>.<CR><LF>
Subject:Test mail 1.              //指定邮件标题
  No.1 mail document.. ..              //输入文本邮件内容
.                     //独立的 . 表示输入完毕
250 2.0.0 Ok: queued as D4B5131D8B2
quit                     //断开telnet连接
221 2.0.0 Bye
Connection closed by foreign host.

6.检查邮件投递结果(在服务器上 192.168.1.20)
wKioL1XgLKSB2NWpAAJ7w9uKwd0289.jpg
实验(三)

实验目的:构建dovecot收信服务器 【POP3/IMAP4协议,TCP 110/143端口】
1.安装 dovecot 软件包
wKioL1XgMkjA3iPNAABAvFebjTA163.jpg
2.调整dovecot服务配置、启动服务 disable_plaintext-auth = no 允许明文认证,mail_location = maildir:~/Maildir明确指定邮箱类型及路径。
wKioL1XgMo2ijM_SAABZfKxNlyc063.jpg
wKioL1XgMpbR1VlzAABFJ9dodik389.jpg
wKioL1XgMxTTbSPQAABo-NiNqvQ286.jpg
wKiom1XgMQTyM7NjAABeOZG68ac114.jpg
重新启动服务
wKiom1XgMW-icLRjAADNeMylkX4372.jpg
wKiom1XgRo2jseiQAAIxAsXs-V4676.jpg
3.使用telnet测试收信(hunter)在客户端192.168.1.30测试
wKioL1XgSauCkNHjAAODjsZ4ipw847.jpg
USER hunter                  //以用户hunter登录
+OK
PASS 123456                  //密码为123456
+OK Logged in.
LIST                      //查看邮件列表
+OK 6 messages:
1 451
.
RETR 1                     //获取编号为1的邮件
+OK 451 octets

实验(四)
实验目的:使用Thunderbird工具收发信和实现SMTP发信认证。

1.解压软件包
wKioL1XhEw7h3OYJAAGonNBKb3Q295.jpg

2.安装软件,进入以下图像界面
wKioL1XhE1HhspHBAABRIjAkhgc095.jpg
wKiom1XhEWLzb7FJAAHP9XZEJwI164.jpg
点击跳过并使用已有的电子邮箱,添加自己给用户的邮箱账号,按继续。
wKioL1XhFXazlW11AAFTtuiJjjE957.jpg
wKiom1XhE37wHPTcAAG3bkJSHDQ108.jpg
wKioL1XhFbmx0EQmAAFbR_o2K7M300.jpg
wKiom1XhE96h5DcBAAHwaQ-Z3UA461.jpg
wKiom1XhNozh5zrDAAEN7gaYw5o110.jpg
3.SMTP认证的工作 方式:SASL认证,启动SASL认证可以防止邮件服务器成为垃圾 中转站,可以防止自己的邮件服务器发送垃圾邮件,被封。

SMTP的认证的软件包 :cyrus-sasl

查看软件包是否已安装

wKioL1XiTAPwHItOAABsdhXMFXI162.jpg
启动服务,随开机自启动
wKiom1XiSmPzejUkAACKZVCRCJQ656.jpg
wKioL1XiTIniMaLqAABEZqGLACA933.jpg
查看saslauthd服务功能是否被开启,如果是本地用户认证成功的才转发邮件,否则我就不转发。
wKiom1XiSr3AUbSNAACBSk1U8p4855.jpg
调整postfix配置,启动SMTP认证
wKioL1XiTtvjKFvgAABP4gRm30c904.jpg
wKioL1XiZ13T-5PWAAErkuA33ls544.jpg
27 mynetworks = 127.0.0.1                  //设置本地网络
28 smtpd_sasl_auth_enable = yes              //启用SASL认证
29 smtpd_sasl_security_options = noanonymous      //阻止匿名发信
30 smtpd_recipient_restrictions =              //设置收件人过滤
31  permit_mynetworks,  
32  permit_sasl_authenticated,
33  reject_unauth_destination          //拒绝向未授权的目标域发信

从新启动服务
wKioL1XiTwrTyP-9AACeCetj_PQ114.jpg
4.在客户端测试SMTP发信认证,以用户nick为例,未经过认证登录时,向外域发邮件会被拒绝。

wKiom1XiUr_A5QEQAAIy2NUefi0874.jpg
220 mail.tarena.com ESMTP Postfix
HELO localhost                  //宣告本机地址
250 mail.tarena.com
MAIL FROM:nick@tarena.com         //指定发件人地址
250 2.1.0 Ok
RCPT TO:crazy_linux@163.com         //指定收件人地址
554 5.7.1 <crazy_linux@163.com>: Relay access denied
                    //发送外域的发信请求被拒绝
quit                     //断开telnet连接

为了能使用户可以和外域发送邮件,必须通过认证,以用户nick为例,生成用户名、密码的加密字串,通过base64加密认证
wKiom1XiZcDRb3KbAADMeLuWFj4800.jpg
认证登录通过以后,才允许向外域发邮件
wKioL1XiZzHCQCbKAAJ7DveatnY453.jpg
AUTH LOGIN                 //声明要执行认证登录
334 VXNlcm5hbWU6
bmljaw==                 //输入用户名nick的BASE64编码
334 UGFzc3dvcmQ6
MTIzNDU2Nw==                 //输入密码1234567的BASE64编码
235 2.7.0 Authentication successful
MAIL FROM:nick@tarena.com         //指定发件人地址
250 2.1.0 Ok
RCPT TO:TsengYia@126.com             //指定收件人地址
250 2.1.5 Ok
DATA                     //开始编写邮件内容
354 End data with <CR><LF>.<CR><LF>
Subject:SMTP Auth Test             //指定邮件标题
  Hello, here is a test mail.             //输入文本邮件内容
.                     //独立的 . 表示输入完毕
250 2.0.0 Ok: queued as 8C48431D8B2
quit                     //断开telnet连接
221 2.0.0 Bye
Connection closed by foreign host.



总结:默认邮件服务器搭建完毕后,只能给本域发送邮件,如果想给外域发送邮件,必须要SMTP认证后才可以发送邮件,使用SMTP认证后可以防止邮件服务器发送垃圾邮件。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-106586-1-1.html 上篇帖子: outlook上添加qq邮箱注意的3点事项 下篇帖子: amavisd+clamav无法扫描病毒 邮件服务器 认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表