FreeBSD6.2搭建企业级邮件服务器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试验内容:
FreeBSD(基本系统) + Postfix(MTA 邮件传输代理)+ MySQL(后台数据库,用户保存用户信息)+ Cyrus -SASL2(发信认证)+ Courier -IMAP(提供POP3/IMAP服务)+ MailDrop(MDA 邮件投递代理)+ amavisd-new(内容过滤)+ Spamassassin(反垃圾邮件)+ Clamav(杀毒)+ Extman (后台用户管理) + ExtMail( 一个高效率的webmail) =企业级优秀mail服务器
准备工作:
为了保证架设的邮件服务器能完全收到来信,我们必须先拥有一个经过注册的合法域名。我是安装了花生壳软件,然后在其官方网站申请了一个的域名,做域名诊断,如图:
可以看出,经过地址为220.101.213.16的DNS服务器解析,该域名指向了本地adsl终端的IP-219.134.249.185。
接下来是FreeBSD基本系统的安装,我采用最小安装,然后更新ports树。系统安装好后,将进行一系列软件的安装,首先是MySQL的安装,然后是apache和PHP+PHP扩展+phpmyadmin的安装。基本系统的安装和MySQL+apache+PHP+PHP扩展+phpmyadmin的安装可以参考我的另一篇帖子:在FreeBSD6.2上搭建apache2+mysql5+php+phpmyadmin
下面我在安装好上述软件的系统上安装其他应用软件:
一、安装extmail
二、安装extman
extman 是extmail用户后台管理系统,官方网站为,在FB的ports包里就能找到它:
安装该包,出现一个选择包的界面:
安装完成:
在安装完成extmail和extman后,需要添加两个Mysql用户和增加域、extman管理员等,如下操作:
经过上面两个操作后,
extmail.sql添加了两个MySQL用户
1、只读用户:extmail 密码:extmail
2、读/写用户:webman 密码:webman
init.sql 里,对extmail数据库添加了下面的记录
1、添加了一个别名记录support@ ->test@
2、增加了 域
3、增加了test@的邮箱密码为test
4、增加了extman 的管理员root@ 密码为extmail
5、把所有域名改为。
下面是邮件系统的主干部分。。。安装下面三个软件要注意先后顺序
三、安装Courier-IMAP
选择openssl、MySQL
在/etc/rc.conf 加入
courier_authdaemond_enable="YES"
courier_imap_pop3d_enable="YES"
courier_imap_imapd_enable="YES"
修改authdaemond的权限
#/usr/local/etc/rc.d/courier-authdaemond.sh start
#chmod -R +x /var/run/authdaemond/
authdaemond 启动完成后,检查/var/run/authdaemond 下面是否产生socket 文件,因为认证时是通过这个文件读取密码的。
设置/usr/local/etc/authlib/authdaemonrc
#cp authdaemonrc authdaemonrc.bak
#vi authdaemonrc
在authdaemonrc 加入下面的内容
authmodulelist="authmysql"
authmodulelistorig="authmysql"
version="authdaemond.mysql"
daemons=5
authdaemover=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
上面DEBUG_LOGIN=2 是为了调试方便,等系统完全测试完成,可改为0,即不显示调试信息。
设置/usr/local/etc/authlib/authmysqlrc
#cp authmysqlrc authmysqlrc.bak
#vi authmysqlrc
加入下面的内容
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber,\
CONCAT('/home/maildata//',homedir), \
CONCAT('/home/maildata//',maildir), \
quota, \
name \
FROM mailbox \
WHERE username = '$(local_part)@$(domain)'
要注意的是,我的邮件保存的目录是/home/maildata/,你可以跟据你的需要改为自己的目录。
用户名和密码是extmail 这个具体需要看extman 软件包中的docs 目录中的extmail.sql,很多人无法通上发信认证,很可能以上面两个文件配置有关。
创建pop3/imap 的配置文件/usr/local/etc/courier-imap/
#cp f.dist f
#cp f.dist f
修改/usr/local/etc/courier-imap/pop3d (不修改也行)
POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
修改/usr/local/etc/courier-imap/imapd(不修改也行)
IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA"
四、安装Cyrus-SASL2