电子邮件系统概述

邮件系统角色

  • MUA(邮件用户代理)、MTA(邮件传输代理)、MDA(邮件分发代理 )

邮件应用协议

  • SMTP,简单邮件传输协议,TCP 25端口

  • POP3,第3版邮局协议,TCP 110端口

  • IMAP4,第4版互联网消息访问协议,TCP 143端口


商业邮件系统

  • Exchange:微软公司的重量级产品,与Windows系列软件产品相集成,协作性较好

  • Notes/Domino:IBM公司的商业电子邮件和办公协作软件产品,功能丰富、强大,提供跨平台支持

开源邮件系统

  • Sendmail:资格最古老,运行稳定,但安全性欠佳

  • Qmail:有更好的执行效率,配置、管理也很方便

  • Postfix:兼容Sendmail,采用模块化设计,在投递效率、稳定性、服务性能及安全性方面表现优秀


Postfix的主要目录

  • 配置文件目录:/etc/postfix/

  • 服务程序目录:/usr/libexec/postfix/

  • 邮件队列目录:/var/spool/postfix/incoming、active、deferred、hold、corrupt

  • 邮件管理程序目录:/usr/sbin/postalias、postmap、postconf、postfix、postqueue、postsuper


master主程序的配置文件:/etc/postfix/master.cf


postfix服务的配置文件:/etc/postfix/main.cf


辅助配置工具 postconf

  • 执行 postconf ,查看当前的有效配置

  • 执行 postconf -n ,查看非默认配置

  • 执行 postconf -d ,查看默认配置


/var/log/maillog:记录了postfix服务的邮件传递等过程信息


常用分析方法

动态跟踪日志变化

  • tail -f /var/log/maillog

关键词搜索

  • egrep '(reject|error|fatal|panic):' /var/log/maillog


邮件服务器的基本构建

  • Postfix:提供邮件发送服务(SMTP)

  • Dovecot:提供邮件收取服务(POP3)

  • Office Outlook:用于收发信的客户端工具

构建Postfix邮件系统(一) -- postfix+dovecot_vi


实验案例:构建Postfix邮件服务器

需求描述

  • 设置邮件服务器的主机名、IP地址

  • 安装配置Postfix服务器,提供SMTP发信服务

  • 安装配置Dovecot服务器,提供POP3/IMAP邮件收取服务

实现思路

  • 搭建DNS服务器,配置相关记录

  • 安装并配置Postfix服务器

  • 安装并配置Dovecot服务器

  • 使用Outlook 2007进行发信、收信


邮件服务器主机名:mail.benet.com IP地址:173.16.16.2

DNS能正确解析benet.com域,有MX邮件交换记录

下面开始安装并配置postfix服务器

之前服务器安装了sengmail,不需要卸载,直接停用就好

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_02


确定安装了sasl的相关包

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_03


创建运行组和用户

构建Postfix邮件系统(一) -- postfix+dovecot_Linux_04


解压

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_05


配置

CCARGS参数:为编译器提供额外的扩展参数

AUXLIBS参数:为编译器指出位于标准位置之外的额外函数库

构建Postfix邮件系统(一) -- postfix+dovecot_vi_06


编译及安装

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_07


检查所支持的认证方式

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_08


为了避免配置参数过多带来的干扰,提高易读性,对配置文件进行简化

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_09


在配置文件中添加配置参数

inet_interfaces:监听服务的IP地址,默认为all

myhostname:邮件服务器的主机名

mydomain:邮件域

myorigin:外发邮件时,发件人地址中的邮件域

mydestination:允许投递到本地的目标邮件域

home——mailbox:设置邮件存储位置和格式

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_10


启动postfix服务和查看监听端口

构建Postfix邮件系统(一) -- postfix+dovecot_Linux_11


创建测试用户

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_12


通过telnet的方式来测试发送邮件

构建Postfix邮件系统(一) -- postfix+dovecot_操作系统_13


能看到发送过来的邮件

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_14


下面开始安装Dovecot软件包

预先创建运行用户

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_15


解压

构建Postfix邮件系统(一) -- postfix+dovecot_vi_16


配置

错误注意:

telnet 110端口的时候停在Escape character is ‘^]’.

当日志文件出现localhost dovecot: auth: Fatal: Support not compiled in for passdb driver 'pam'

预编译时加入参数 –with-pam解决

构建Postfix邮件系统(一) -- postfix+dovecot_vi_17


编译和安装

构建Postfix邮件系统(一) -- postfix+dovecot_vi_18


添加为系统服务

构建Postfix邮件系统(一) -- postfix+dovecot_vi_19


建立配置文档

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_20


建立PAM认证文件

构建Postfix邮件系统(一) -- postfix+dovecot_操作系统_21

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_22


调整主配置文件

  • 使用系统用户认证

  • 禁用SSL机制

  • 允许明文的验证

  • 设置邮箱格式及位置

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_23

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_24


开启dovecot服务并确定监听状态

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_25


用telnet测试接收邮件成功

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_26


下面用OutLook2010来测试

添加新账户

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_27


手动配置服务器设置

构建Postfix邮件系统(一) -- postfix+dovecot_邮件系统_28


选择服务

构建Postfix邮件系统(一) -- postfix+dovecot_操作系统_29


填写用户信息、服务器信息、登录信息

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_30

构建Postfix邮件系统(一) -- postfix+dovecot_vi_31


测试发送

构建Postfix邮件系统(一) -- postfix+dovecot_dovecot_32


lisi用户能接收到

构建Postfix邮件系统(一) -- postfix+dovecot_操作系统_33


zhangsan用户也能收到抄送

构建Postfix邮件系统(一) -- postfix+dovecot_postfix_34