基于Postfix邮件系统安装手册.docx
- 文档编号:16194193
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:49
- 大小:470.19KB
基于Postfix邮件系统安装手册.docx
《基于Postfix邮件系统安装手册.docx》由会员分享,可在线阅读,更多相关《基于Postfix邮件系统安装手册.docx(49页珍藏版)》请在冰点文库上搜索。
基于Postfix邮件系统安装手册
基于Postfix邮件系统
安装手册
TXF
2014年8月
目录
序言4
1、基础知识介绍和基本软件安装与配置5
1.1E-Mail系统基础知识5
1.1.1E-Mail基本概念5
1.1.2RFC文档5
1.1.3邮件代理5
1.1.4邮件系统结构图6
1.2软件介绍6
1.2.1操作系统6
1.2.2基本软件7
1.2.3Mail系统相关软件7
1.2.4病毒扫描与垃圾邮件防护7
1.3postfix与其他组件之间的关系7
1.3.1基本邮件系统之间的关系8
1.3.2基于本案例的邮件系统架构8
1.4安装基本系统9
1.4.1RedHat6.2安装9
1.4.2安装基本软件包9
1.4.3修改mysqlroot用户密码10
1.5安装方法小结11
2、安装postfix11
2.1安装postfixrpm包11
2.2查看postfix支持的特性11
2.2.1检查postfix是否正确11
2.2.2查看postfix支持的查询表的类型11
2.2.3检查支持的SASLServer插件的类型12
2.3简单postfix配置12
2.3.1main.cf文件12
2.3.2master.cf文件13
2.4启动与停止postfix13
2.4.1启动postfix命令13
2.4.2停止postfix命令14
2.4.3重新读取postfix配置14
2.5常用postfix命令14
2.5.1查看postfix队列管理工具14
2.6SASL身份验证16
2.6.1关于CyrusSASL17
2.6.2postfix主要的SASL认证参数17
2.6.3配置SASL认证17
3、安装构建dovecot服务器19
3.1安装Dovecot软件包19
3.2配置Dovecot的运行参数19
3.3启动dovecot服务并查看监听的端口(110、143)20
3.4POP3接收邮件测试20
4、配置Postfix支持虚拟用户21
4.1建立虚拟用户数据库21
4.2修改Postfix的配置21
4.3为虚拟用户设置SMTP发信认证22
4.4修改Dovecot的配置24
4.5测试虚拟用户实现结果25
5、ExtMail邮件使用及管理平台26
5.1部署ExtMail邮件使用界面26
5.2部署ExtManWEB管理界面28
5.3小结31
6、电子邮件过滤和防病毒31
6.1基于邮件地址的过滤31
6.2基于邮件内容的过滤33
7、备份系统34
7.1备份系统文件34
7.2邮件系统配置35
7.2.1Postfix配置文件35
7.2.2dovecot配置文件35
7.2.3apache配置文件35
7.2.4CyrusSasl配置文件35
7.2.4Courier-authlib配置文件35
7.2.5邮件访问控制策略35
7.2.6MailScanner配置文件36
7.3数据备份36
7.3.1Mysql数据库备份36
7.3.2邮件目录36
8、参考文献36
序言
从事了多年的网络和Linux系统的管理工作,把自己的经验拿出来和大家一起分享。
让大家更多的了解开源软件,使用开源软件。
通过本文档可以对邮件系统有个整体的认识。
由于本人水平有限,难免有错误和纰漏之处,请大家多多谅解。
本文可以自由转载,在未经允许的情况下不得进行任何商业行为。
本文档使用Microsoftoffice2003/word2003制作。
免责声明:
本文档仅对使用者提供参考,出现问题请使用者自行解决,作者不承担任何责任。
2014年8月
1、基础知识介绍和基本软件安装与配置
本文中文字描述部分很少,有文字描述部分一般都比较重要,所以请大家仔细看有文件描述的部分。
1.1E-Mail系统基础知识
1.1.1E-Mail基本概念
E-Mail系统是一个复杂的系统,涉及到很多复杂的主题,如SMTP协议、POP3协议、IMAP协议、DNS协议、垃圾邮件过滤等。
1.1.2RFC文档
RFC(RequestCommentsDocument)定义Internet的各项标准。
关于E-Mail的RFC文档有好多。
下
面是想关参考信息,相关rfc文档请参阅下面地址:
http:
//www.ietf.org/iesg/1rfc_index.txt
SMTP相关RFC文档:
http:
//www.ietf.org/rfc/rfc821.txt
http:
//www.ietf.org/rfc/rfc2821.txt
http:
//www.ietf.org/rfc/rfc822.txt
http:
//www.ietf.org/rfc/rfc2822.txt
POP3相关RFC文档:
http:
//www.ietf.org/rfc/rfc1939.txt
IMAP相关RFC文档:
http:
//www.ietf.org/rfc/rfc3501.txt
http:
//www.ietf.org/rfc/rfc2195.txt
http:
//www.ietf.org/rfc/rfc2060.txt
http:
//www.ietf.org/rfc/rfc2221.txt
1.1.3邮件代理
邮件在传输用会使用3种“代理程序”(agent),下面进行逐一介绍。
1.MUA(MailUserAgent)
提供用户写信、读信、寄信、收信的软件。
寄信的时候通过SMTP协议将邮件交给MTA,收信的时候使用POP3或IMAP协议访问服务器上的用户邮箱。
比较常见的MUA软件有ThunderBird,FoxMail,Eudora,mutt,Evolution的C/S结构的,也有像SquirrelMail,openwebmail,RoundCube,sqwebmail等B/S结构的MUA程序。
2.MTA(MailTransferAgent)
提供接收、传递邮件的服务器软件。
决定邮件传递的路径,进行必要的改写地址改写。
如果是自己所管辖的域的邮件,就收下邮件,交给MDA进行最后的投递。
比较著名的MTA有sendmail,postfix,qmail,extm,Courier(其中包括mta,mda等)等,还有一些非开源的。
3.MDA(MailDeliveryAgent)
MDA是被MTA调用,负责将邮件投递到用户的邮箱。
MDA也可以过滤邮件内容,或是按照用户的规则,将邮件分类到适当的邮箱;甚至可以将邮件转回给MTA,以寄到另一个邮箱中。
在类Unix的系统中,procmail和maildrop是比较著名的MDA程序,在dovecot软件中也有MDA的功能。
1.1.4邮件系统结构图
1.2软件介绍
1.2.1操作系统
RedHatEnterpriseLinuxServerrelease6.2
1.2.2基本软件
Apache
PHP
Mysql
Openssl
Cyrus-Sasl
1.2.3Mail系统相关软件
Postfix
Dovecot
ExtMail
ExtMan
1.2.4病毒扫描与垃圾邮件防护
MailScanner
F-Port
1.3postfix与其他组件之间的关系
1.3.1基本邮件系统之间的关系
1.3.2基于本案例的邮件系统架构
1.4安装基本系统
1.4.1RedHat6.2安装
1.安装步骤略。
小提示:
对于Linux初学者,在安装系统的时候最好进行完全安装,这样后面不会因为缺少某些软件包,出现一些问题,自己还不知道如何解决,造成后面的步骤无法继续。
2.配置主机名
编辑/etc/hosts文件,让文件中有下面内容:
127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4
192.168.1.209
编辑/etc/sysconfig/network文件,修改HOSTNAME的值:
HOSTNAME=
1.4.2安装基本软件包
1.安装编译软件(安装操作系统时开发工具选上这部可以省略)
shell#yuminstall-ygccgcc-c++rpm-buildautoconfautomake
2.安装apache服务
2.1下载Apache源码包
Apache的官方站点:
http:
//httpd.apache.org/download.cgi
当前使用版本为2.2.9,也可下载最新的版本:
2.2解压并释放源码包
shell#tarzxvfhttpd-2.2.9.tar.gz
shell#cdhttpd-2.2.9
2.3配置编绎选项
shell#./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite--enable-cgi--enable-suexec--with-suexec-caller=daemon--with-suexec-docroot=/usr/local/apache2/htdocs
2.4编译Apache程序并安装
shell#make&&makeinstall
3.安装mysql数据库
shell#rpm–ivhmysql-5.1.52-1.el6_0.1.x86_64.rpm
shell#rpm–ivhmysql-server-5.1.52-1.el6_0.1.x86_64.rpm
shell#rpm–ivhmysql-devel-5.1.52-1.el6_0.1.x86_64.rpm
4.安装PHP软件包
4.1下载PHP源码包
PHP的官方站点:
当前使用版本为5.2.6,也可下载最新的版本:
4.2解压并释放源码包
shell#tarjxvfphp-5.2.6.tar.bz2
shell#cdphp-5.2.6
4.3配置编绎选项
shell#./configure--prefix=/usr/local/php5--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql--enable-sockets--enable-mbstring
4.4编译PHP程序并安装
shell#make&&makeinstall
启动HTTPd
shell#/usr/local/apache2/bin/apachectlstart
启动mysqld
shell#/etc/init.d/mysqldstart
5.验证apache,php,mysql是否正确
shell#echo"
phpphpinfo();?
>">/usr/local/apache2/htdocs/test.php
访问:
http:
//yourserver-ip/test.php,检查是否支持mysql,imap功能。
1.4.3修改mysqlroot用户密码
这里值得提出的是,有很多人不修改mysql的缺省口令,这样会有很大的安全隐患。
修改root用户密码有很多种方法,这里只介绍一种。
通过mysqladmin命令修改密码:
shell#mysqladminpassword"YourPassWord"
小提示:
如果最好用系统生成的密码,这样安全些。
通过opensslpasswd命令生成,然后取8位做为密码。
也可以是用urandom生成。
shell#opensslpasswd-stdin<<(echo)|awk'{printsubstr($0,1,8)}'
shell#
好了,准备工作做完了,可以继续了!
1.5安装方法小结
本例部分软件是使用RPM包,然后进行安装,这样的好处是在你需要安装多台服务器是将编译好的rpm包文件复制其他机器上就可以批量安装,这样方便管理多台配置相同的服务器。
缺点是只适合CentOS/Redhat/Fedora系列的发行版,不适合Debian/Ubuntu等发行版;但是,有关软件配置Debian/Ubuntu系统也可以作为参考,源码安装将不受影响,但要注意编译时参数正确。
2、安装postfix
2.1安装postfixrpm包
shell#rpm–ivhpostfix-2.6.6-6.el6_5.x86_64.rpm
安装后postfix后自动建立两个组postdrop和postfix,一个用户postfix。
这里需要将postdrop、postfix组ID和postfixe用户ID改为大于1000的数字!
修改postdrop、postfix组ID和postfixe用户ID
shell#groupmod–g1200postdrop
shell#groupmod–g1000postfix
shell#usermod–g1000postfix
2.2查看postfix支持的特性
2.2.1检查postfix是否正确
postfix提供了check命令,可以检查当前postfix的配置是否有问题、文件和目录权限是否正确。
可以通过运行下面命令:
shell#postfixcheck
这个检查工具秉承这“没有消息就是好消息”的优良Unix风格。
2.2.2查看postfix支持的查询表的类型
shell#postconf-m
输出结果:
btree
cidr
environ
hash
ldap
mysql
nis
pcre
proxy
regexp
static
unix
2.2.3检查支持的SASLServer插件的类型
shell#postconf-a
输出结果:
cyrus
dovecot
2.3.4检查支持的SASLClient插件的类型
shell#postconf-A
输出结果:
cyrus
2.3简单postfix配置
Postfix的配置文件有两个main.cf和master.df文件,通过rpm方式安装的postfix,配置文件在/etc/postfix/目录下。
如果是编译安装的,在安装的时候路径是由你自己输入的。
2.3.1main.cf文件
main.cf文件集中了postfix的所有参数。
可以通过文本编辑器编辑main.cf文件来改变postfix参数的值;也可以通过postconf命令来改变postfix参数的值,命令格式:
shell#postconf-e
1.简化postfix的配置文件
shell#cd/etc/postfix/
shell#postconf-n>main2.cf
shell#mvmain.cfmain.cf.bak
shell#mvmain2.cfmain.cf
3.配置Postfix,使用Maildir格式存放用户邮件。
修改Postfix配置/etc/postfix/main.cf,增加下面内容:
inet_interfaces=192.168.1.209,127.0.0.1
myhostname=
mydomain=
myorigin=$mydomain
mydestination=$mydomain,$myhostname
home_mailbox=Maildir/
2.3.2master.cf文件
Postfix的所有程序,都是有masterdaemon在需要是才启动的。
这些服务程序的运行参数都是在master.cf配置文件中定的。
一般不用编辑改文件,除非你要增加一些新的功能。
2.4启动与停止postfix
2.4.1启动postfix命令
1.可以使用SysV风格的脚本启动:
shell#/etc/init.d/postfixstart
2.也可以通过运行postfix命令实现:
shell#/usr/sbin/postfixstop
可以按照下面方法验证postfix是否正常启动。
1.查看/var/log/maillog日志中是否有错误
2.检查是否监听25端口
shell#netstat-na|grep:
25
tcp000.0.0.0:
250.0.0.0:
*LISTEN
3.检查是否监听25端口
shell#telnetlocalhost25
Trying127.0.0.1...
Connectedtolocalhost.
Escapecharacteris'^]'.
220ESMTPPostfix
ehlolocalhos
250-
250-PIPELINING
250-SIZE10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250DSN
quit
2212.0.0Bye
Connectionclosedbyforeignhost.
2.4.2停止postfix命令
1.可以使用SysV风格的脚本启动:
shell#/etc/init.d/postfixstop
2.也可以通过运行postfix命令实现:
shell#/usr/sbin/postfixstop
2.4.3重新读取postfix配置
1.可以使用SysV风格的脚本启动:
shell#/etc/init.d/postfixreload
2.也可以通过运行postfix命令实现:
shell#/usr/sbin/postfixreload
2.5常用postfix命令
2.5.1查看postfix队列管理工具
postfix提供了管理队列的工具,可以队列中的邮件进行如下管理:
•查看邮件队列
•重新排队
•保留队列
•删除队列
•清空队列
•擦看邮件内容
1.查看邮件队列
这个命令和sendmail的mailq命令一样,能够显示队列中的邮件。
shell##postqueue-p
-QueueID---Size------ArrivalTime-----Sender/Recipient-------
1054913C0358537TueAug2617:
20:
10456@
(Hostordomainnamenotfound.Nameserviceerrorforname=type=MX:
Hostnotfound,tryagain)
tangxf@
--1Kbytesin1Request.
2.刷新队列
刷新队列命令可以将队列中的所有邮件重新投递。
shell#postqueue-f
3.立即投递队列中指定邮件
如果队列中指定的邮件需要投递,可以使用下面命令。
shell#postqueue-i1054913C0358
4.保留队列中的邮件
当你想将队列中的邮件无限期的保留在系统中,holdqueue就是这些邮件的家了。
shell#postqueue-i1054913C0358
输出结果
postsuper:
1054913C0358:
placedonhold
postsuper:
Placedonhold:
1message
现在已经将改邮件放到hold对了中了。
shell#ls-l/var/spool/postfix/hold/
总用量4
-rwx------1postfixroot11618月2820141054913C0358
当你想将holdqueue中的邮件移回对队列中,可以经postsuper命令的选项-h换成-H即可。
shell#postsuper-H1054913C0358
输出结果
postsuper:
1054913C0358:
releasedfromhold
postsuper:
Releasedfromhold:
1message
5.查看队列中邮件内容
postcat命令可以查看队列中邮件内容。
shell#postcat-q1054913C0358
6.重置邮件队列
如果因为配置问题导致邮件中存储了错误信息,以致于邮件不能被发送,在问题解决之后,可能需要将队列中的邮件重新走一遍流程,以便邮件能够发送成功。
重置指定邮件队列:
shell#postsuper-r1054913C0358
输出结果:
postsuper:
1054913C0358:
requeued
postsuper:
Requeued:
1message
重置所有邮件队列:
shell#postsuper-rALL
输出结果:
postsuper:
Requeued:
1message
7.删除队列
删除队列中指定邮件。
shell#postsuper-d9BE9A13C0358
postsuper:
9BE9A13C0358:
removed
postsuper:
Deleted:
1message
8.删除队列全部
注意:
参数ALL全部为大写。
shell#postsuper-dALL
输出结果:
postsuper:
Deleted:
2messages
以上命令,如果改变了任何队列信息都会在日志中记录。
2.6SASL身份验证
SMTP服务器可以判断那些smtp客户端可以发送邮件,这就需要SASL的支
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Postfix 邮件系统 安装 手册