您的位置:首页 > 理论基础 > 计算机网络

Postfix邮件系统(一)

2013-05-20 08:04 316 查看
10-Postfix邮件系统(一)


一、电子邮件系统基础
1)、邮件系统角色、邮件协议
【前提条件】:需要DNS服务器提供域名的解析
1、电子邮件系统的角色
【MTA(Mail Transfer Agent,电子传输代理)】
Ø一般称为邮件服务器软件Ø负责接收客户端软件发送的邮件,并将邮件传输给其他的MTA程序Ø包括:Exchange、Sendmail、Postfix【MUA(Mail User Agent,邮件用户代理)】Ø一般称为邮件客户端软件Ø功能:为用户提供发送、接收和管理电子邮件的界面Ø包括:Outlook、Foxmail、Outlook Express【MDA(Mail Delivery Agent,邮件分发代理)】ØMDA软件负责在服务器中将邮件分发到用户的邮箱记录ØPostfix就集成了MDA的功能2、邮件通信协议
【SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)】
Ø作用:用于发送和传输邮件Ø端口:TCP/25【POP(Post Office Protocol,邮局协议)】Ø作用:用于从邮件服务器中收取邮件Ø端口:TCP/110【IMAP(Internet Message Access Protocol,互联网消息访问协议)】Ø作用:用于收取邮件Ø端口:TCP/1432)、常见的邮件服务器软件
1、商业邮件系统
【Exchange】:微软公司收费产品,windows服务器平台构建邮件系统的首选产品
【Notes/Domino】:IBM公司收费产品,多应用于一些高校、政府、银行类型的企业

2、开源邮件系统
【Sendmail】:运行在UNIX/Linux环境中,属于早期产品,sendmail运行的稳定性较好,但安全性欠佳
【Qmail】:运行在UNIX/Linux环境中,比sendmail具有更好的执行效率,且配置,管理更加方便
【Postfix】:运行在UNIX/Linux环境中,其目的是为Sendmail提供一个更好的替代产品,postfix在投递效率、稳定性、服务性能及安全性能方面都相当的出色

二、Postfix邮件服务基础
ØPostfix邮件服务器采用模块化的设计,由许多个不同的程序集合而成,分别用于实现不同的功能ØPostfix在启动时首先启动名为master的进程,由master进程主导邮件的处理工作,并在需要时自动加载其他程序以协同工作1)、编译安装及服务控制
1、准备工作
/etc/init.d/sendmail stop /先要停止此服务
Chkconfig --level 2345 sendmail off /永久关闭它
Rpm -qa | grep cyrus /查看cyrus相关软件包
《注意》:
虽然停了sendmail的服务,但不能卸载它,因为Postfix能兼容sendmail,如果把sendmail卸了,那么在安装postfix时就找不到对应的目录。 yum -y install db*-devel
yum -y install cyrus-sasl-* /安装相关依赖包
yum -y install pam-devel*
2、源码编译安装
【创建运行组、用户】
groupadd -g 1200 postdrop
groupadd -g 1000 postfix
useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix
【解包】
tar zxf postfix-2.8.2.tar.gz -C /usr/src
cd /usr/src/postfix-2.8.2
【配置】
make makefiles ‘CCARGS=-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl’ ‘AUXLIBS=-L/usr/lib/sasl2 -lsasl2’
#CCARGS参数:为编译器提供额外的扩展参数。例如启用SASL认证,并指出cyrus_sasl认证程序的文件位于/usr/include/sasl #AUXLIBS参数:为编译器指出位于标准位置之外的额外函数库。例如,cyrus_sasl认证程序的库文件位于/usr/lib/sasl2/ make && make install
postconf -a /检查所支持的认证方式
3、postfix服务控制
postfix start /启动postfix服务
netstat -antp | grep 25 /查看服务进程’master’是25号端口
postfix check /语法检查
2)、主要目录和配置文件
1、主要目录
Ø/etc/postfix:postfix服务的主配置文件,各类脚本、查询等表Ø/usr/libexec/postfix:包括postfix服务的各个服务器程序文件Ø/var/spool/postfix:包括postfix服务的邮件队列相关的子目不录incoming(传入):存放刚接收到的邮件active(活动):存放正在投递的邮件deferred(推迟):存放以前投递失败的邮件hold(约束):存放被阻止发送的邮件corrupt(错误):存放不可读或不可分析的邮件Ø/usr/sbin/:包括postfix服务的各种管理工具程序,这些程序文件名以post开头postalias:构造、修改和查询别名表postconf:显示和编辑main.cf配置文件postfix:启动、停止postfix邮件服务,要求有root用户权限postmap:构造、修改或查询查询表文件postqueue:查看邮件队列、一般用户可以使用postsuper:管理邮件队列,要求有root用户权限2、主要配置文件
【包括】:main.cf/一般不改它 master.cf/一般改它
【位置】:/etc/postfix/目录下
postconf -n > ganbing /简化参数并输出为“ganbing”
mv /etc/postfix/main.cf /etc/postfix/main.cf.bak /改名
mv ganbing /etc/postfix/main.cf /把ganbing移动并改名
3、postfix的日志文件
【位置】:/var/log/maillog
【定义】:该文件中记录了本机中的邮件进出相关的消息,包括邮件服务的启动、出错、与其他SMTP服务器的会话信息等三、邮件服务器的基本构建
1)、配置SMTP发信服务
【位置】:/etc/postfix/main.cf
1、设置main.cf并启动服务vim /etc/postfix/main.cf inet_interfaces=10.0.0.1 127.0.0.1 /监听服务器的IP地址默认为all myhostname=mail.benet.com /邮件服务器的主机名 mydomain=benet.com /邮件域 myorigin=$mydomain /引用邮件域,外发邮件时发件人地址中的邮件域 mydestination=$mydomain,$myhostname /允许投递到本地的目标邮件域 home_mailbox=Maildir/ /设置邮件存储位置和格式 postfix reload【postfxi支持两种最常见的邮箱存储方式】
Mailbox:同一个用户的所有邮件内容存储为单个文件,保存在/var/spool/mail/目录下,文件名与用户名 相同,Mailbox存储方式比较古老,当邮件数量较多时会降低查询和管理效率
Maildir:使用目录结构来存储用户的邮件内容,每一个用户使用一个目录,每封邮件都作为独立的文件存放,Maildir方式的存取速度和效率要好一些
2、添加邮箱账号groupadd mailusers /创建邮箱用户组,也可不要useradd -g mailusers -s /sbin/nologin gan /新建账号ganpasswd gan /设个密码useradd -g mailusers -s /sbin/nologin bing /新建账号bingpasswd bing3、SMTP发送邮件测试telnet mail.benet.com 25 /连接到postfix服务器helo nihao /打招呼,告诉客户机在哪mail from: gan@benet.com /告知发件人地址rcpt to: bing@benet.com /告知收件人地址data /告知要发送邮件数据 #################subject:this is a test mail /指定邮件标题 ###############. /邮件正文,以.点号表示结束正文quit /断开并退出连接 ls -lh /home/bing/Maildir/new
cat /home/bing/Maildir/mew/130.....mail.benet.com /查看邮件内容
2)、配置POP/IMAP收信服务
ØDovecot是一个安全性较好的pop3/IMAP服务器软件,响应速度快而且扩展性好ØDovecot默认也使用Linux的系统用户,并通过PAM(Pluggable Authentication Module,可插拔认证模块)机制进行身份认证,只有通过认证后才允许用户收取邮件1、编译安装Dovecot软件包【预先创建运行用户】
useradd -M -s /sbin/nologin dovecot
useradd -M -s /sbing/nologin dovenull
【源码编译安装】
tar zxf dovecot-2.0.12.tar.gz -C /usr/src/
cd /usr/src/dovecot-2.0.12
./configure --sysconfdir=/etc /指定配置文档的父目录
make && make install
【添加为系统服务dovecot】
cp doc/dovecot-initd.sh /etc/init.d/dovecot
chkconfig --add dovecot
2、建立配置文件,并启动服务【建立配置文档】
cp -r /usr/local/share/doc/dovecot/example-config/* /etc/dovecot/
vim /etc/pam.d/dovecot
#%PAM-1.0
auth required pam_nologin.so
auth include system_auth
account include system_auth
session include system_auth
【调整主配置文件】
vim /etc/dovecot/dovecot.conf
......//省略部分内容
!include conf.d/lo-auth.conf /只使用系统用户认证
ssl=no /禁用SSL机制
disable_plaintext_auth=no /允许明文的验证
mail_location=maildir:~/Maildir /设置邮箱格式及位置
【启动dovecot服务,并确认监听状态】
/etc/init.d/dovecot start
netstat -anpt | grep dovecot
3)、测试发信、收信功能
使用Microsoft office 2007的Outlook为例
1、设置邮箱账号2、发送邮件测试3、接收邮件测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息