标题:跟着ArthurXF学FreeBSD39——用ports配置extmail邮件服务 出处:BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 时间:Mon, 07 Jan 2008 17:24:23 +0000 作者:ArthurXF 地址:http://www.bizeway.net/read.php/281.htm 内容:   以下部分内容摘自http://www.extmail.org,这里我重新整理了安装和配置方法,历尽千辛万苦,希望能够给大家带来更多方便,此文由ArthurXF倾情奉献,谢谢支持! ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix, Amavisd-new, ClamAV, ExtMail 和ExtMan, Courier系列软件。是一个功能相对比较齐全的免费电子邮件系统。以下是其主要的特性列表: 支持SMTP/POP3/IMAP/HTTP协议 支持SMTPs/POP3s/IMAPs/HTTPs协议 支持SMTP认证及ESMTP 可支持大容量邮箱(大于1GB) 高速Web界面访问邮箱 完整的Web管理后台 在线服务端病毒过滤 内建内容过滤 SMTP行为识别垃圾邮件 支持大量反垃圾邮件技术 图形化邮件日志分析 支持别名/多域/域管理员等 支持网络磁盘/POP3邮件 支持读/写HTML格式邮件 支持定制模板及多语言 支持邮件列表管理,基于WEB端 整个邮件解决方案由如下软件组成: 功能模块 内容 备注 操作系统(OS) FreeBSD 6.x FreeBSD是一个优秀的unix操作系统,基于宽松的BSD协议 邮件传输代理(MTA) Postfix 2.3 使用2.3,ports中的postfix已经是最新的2.3版 数据库/目录服务 OpenLDAP 2.3 可选MySQL或其他LDAP ,本文以MySQL为蓝本 邮件投递代理(MDA) maildrop 2.0.x 支持过滤和强大功能 Web帐户管理后台 ExtMan-0.2beta3 支持无限域名、无限用户 POP3 服务器 Courier-IMAP 支持pop3/pop3s/imap/imaps,功能强大,可根据需要选择 WebMail 系统 ExtMail-1.0beta3 支持多语言、全部模板化,功能基本齐全 防病毒软件(Anti-Virus) ClamAV 0.88 最热门的开源杀毒软件 SMTP阶段反垃圾邮件工具 Spam Locker 0.083 基于SMTP行为识别的Antispam软件,大量可选插件 内容过滤器 Amavisd-new 2.4.x Content-Filter软件,支持与clamav/sa的挂接 内容级别的反垃圾邮件工具 SpamAssassin 著名的SA,可以支持大量规则,但速度较慢 SMTP认证库 Cyrus SASL 2.1x 标准的SASL实现库,可以支持Courier authlib 其他数据认证库 Courier Authlib 0.58 authlib是maildrop, courier-imap等服务的关键部件 日志分析及显示 mailgraph_ext 在ExtMan中已经包含了 Web 服务器 Apache 2.2.x 最新版的apache服务器,默认支持ssl模块 maillist软件 Mailman2.1.x 功能强大的邮件列表软件,支持基于web的管理 1.安装前的准备 引用 vi /etc/rc.conf 确保有如下内容: sshd_enable="YES" named_enable="YES" sendmail_enable="NONE" vi /etc/resolv.conf 将第一条nameserver设置成为 nameserver      127.0.0.1 注意不是修改,是新增一条。 然后执行命令。 cd /etc/namedb/ && sh make-localhost 2.courier-imap POP3/IMAP安装配置 Courier-IMAP是一个提供POP3、IMAP服务的程序,能够很方便的配置使其支持加密协议POP3s、IMAPs。并良好的支持Maildir。 引用 cd /usr/ports/mail/courier-imap/ make config 选择下面的选项 OPENSSL TRASHQUOTA AUTH_MYSQL 保存退出后执行 make install clean Authlib的配置 vi /usr/local/etc/authlib/authdaemonrc 内容类似如下: authmodulelist="authmysql" authmodulelistorig="authmysql" daemons=5 authdaemonvar=/var/run/authdaemond subsystem=mail DEBUG_LOGIN=0 DEFAULTOPTIONS="wbnodsn=1" LOGGEROPTS="" 安装成功后,执行下面的命令,给authdaemond增加所有人的执行权限 chmod +x /var/run/authdaemond vi /usr/local/etc/authlib/authmysqlrc 内容类似如下: MYSQL_SERVER                                localhost MYSQL_USERNAME                           postfix MYSQL_PASSWORD                          postfix MYSQL_DATABASE                            postfix #MYSQL_PORT                                   0 MYSQL_OPT                                        0 MYSQL_USER_TABLE                        mailbox MYSQL_CRYPT_PWFIELD                  password MYSQL_UID_FIELD                                'vmail' MYSQL_GID_FIELD                                'vmail' MYSQL_LOGIN_FIELD                        username MYSQL_HOME_FIELD                        '/usr/local/virtual' MYSQL_NAME_FIELD                        name MYSQL_MAILDIR_FIELD                        maildir 配置支持POP3s cp /usr/local/etc/courier-imap/pop3d.cnf.dist /usr/local/etc/courier-imap/pop3d.cnf 配置支持IMAPs cp /usr/local/etc/courier-imap/imapd.cnf.dist /usr/local/etc/courier-imap/imapd.cnf 配置系统自动启动 echo 'courier_authdaemon="YES"' >> /etc/rc.conf echo 'courier_imap_imapd_enable="YES"' >> /etc/rc.conf echo 'courier_imap_pop3d_enable="YES"' >> /etc/rc.conf 3.安装 Cyrus-SASL2 引用 cd /usr/ports/security/cyrus-sasl2 make config 选择下面选项 AUTHDAEMOND LOGIN PLAIN CRAM DIGEST OTP NTLM 编辑smtp配置 vi /usr/local/lib/sasl2/smtpd.conf 将下面内容加入: pwcheck_method:authdaemond log_level:3 mech_list:PLAIN LOGIN authdaemond_path:/var/run/authdaemond/socket 4.Postfix的安装和配置-MTA MTA在邮件系统中处于非常重要的位置,他负责接收其他人给你发的信,并且负责把你的信转发到目的地。选择一个靠谱的MTA对建立邮件来说意义重大,因此我们使用Postfix!! :-)。另外MTA部分在邮件系统中的开发难度是最高的,起到的作用也是最大的,因此我们也常拿MTA的名字来称呼自己的邮件系统。 引用 cd /usr/ports/mail/postfix make config 选择下面的选项 PCRE SASL2 TLS MYSQL VDA TEST 退出,开始安装 make install clean 加入系统启动选项 echo 'sendmail_enable="NO"' >> /etc/rc.conf echo 'sendmail_submit_enable="NO"' >> /etc/rc.conf echo 'sendmail_outbound_enable="NO"' >> /etc/rc.conf echo 'sendmail_msp_queue_enable="NO"' >> /etc/rc.conf echo 'postfix_enable="YES"' >> /etc/rc.conf echo postfix: root >> /etc/aliases 替换掉系统带的sendmail程序 mv /usr/sbin/sendmail /usr/sbin/sendmail.bak cp /usr/local/sbin/sendmail /usr/sbin/sendmail 编辑/etc/periodic.conf vi /etc/periodic.conf 加入下面的内容 daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO" 5.安装extman ExtMan是一个基于Web的邮件帐号管理系统。可以通过他来管理邮件帐号、管理员帐号和域名等,默认的超级用户是 root@extmail.org,密码是extmail。ExtMan还集成了mailgraph,可以ExtMan内看到整个邮件系统的相关状态流量图。使用ExtMan来管理您的邮件系统将使工作变得更加轻松。 引用 cd /usr/ports/mail/extman make install clean 因为有很多数据是来自extman/docs的,直接从ports安装没有文档,所以我们要从网站上直接下载这个软件。 wget http://www.chifeng.name/dist/extman/extman-0.2.3.tar.gz tar zxvf extman-0.2.3.tar.gz cd extman-0.2.3.tar.gz/docs cp mysql_virtual_alias_maps.cf /usr/local/etc/postfix/ cp mysql_virtual_mailbox_maps.cf /usr/local/etc/postfix/ cp mysql_virtual_domains_maps.cf /usr/local/etc/postfix/ cp mysql_virtual_limit_maps.cf /usr/local/etc/postfix/ 这四个文件的内容不需要修改的。但是用户名、密码和表名都必须是extmail,否则就要改了。 1)建立数据库结构,进行数据表初始化,供邮件系统使用 mysql -uroot -p < extmail.sql 2)建立相应的账户,指定其权限 mysql -uroot -p < init.sql 现在ArthurXF本人接受上海非凡进修学院邀请,开班授课,教学内容有PHP、CSS、FREEBSD网络等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。加我QQ:29011218交流也可。 PHP培训招生简章 Generated by Bo-blog 2.0.3 sp1