软件名称 功能 (注意:没有列出反垃圾邮件软件与杀毒软件)
ExtMan Web帐户管理后台(含mailgraph_ext 图形日志分析)
ExtMail WebMail(perl 程序)
Apache Web服务器(MUA 通过浏览器收发邮件)
Postfix SMTP服务器,邮件传输代理(MTA)
Maildrop 邮件投递代理(MDA)
Courier-imap IMAP和POP3 服务器
Cyrus-sasl2 标准的SASL实现库,可以支持Courier Cyrus SMTP认证库
Courier-authlib 负责courier-imap,maildrop的认证 Courier 数据认证库(mysql)
MySQL 数据库,早桐储存虚拟(域|用户|别名)等信息.
2 确定postfix 支持的smtp认证方式,与支持的查询表(必须包含mysql格式)
smtp 认证方式
postconf -a
cyrus (sasl库)
dovecot
支持的查询表
postconf -m
btree
cidr
environ
hash
ldap
mysql (包含mysql)
nis
pcre
proxy
regexp
static
tcp
unix
注意: redhat/centos 自带的postfix不支持mysql方式的查询表,所以你可能需要以源码的方式重新安装postfix 并且开启mysql支持!!!
3 extmail 发信,收信,(web登陆)认证逻辑图
+++++++++++++++++++++++++++++++++++++++++++++++++
+ smtp/25 + po3/110 + http/80 +
+ postfix + courier-imap + apache +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ cyrus-sasl2 +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ courier-authlib +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ mysql +
+++++++++++++++++++++++++++++++++++++++++++++++++
3.1 smtp认证流程
smtp/25
postfix
| <-- smtp 认证
cyrus-sasl2
| <-- smtpd.conf 配置文档(设置了authdaemond的Unix套接字的路径)
courier-authlib
| <-- authmysqlrc 配置文档(设置了mysql相关信息)
mysql
| -- I:储存虚轮睁亮拟(域|用户|别名)等信息.
3.2 smtp认证 相关的配置文档
postfix
10.0.100.88 [~]$ rpm -qf /usr/lib64/sasl2/smtpd.conf
postfix-2.6.2-5hzq
10.0.100.88 [~]$ cat /usr/lib64/sasl2/smtpd.conf 腊宽
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
---------------------------------------------------------------
pwcheck_method SASL 库 auxprop(默认值)
(描述:空格分隔开的用来效验密码的机制列表,值可能是 sasl_checkpass,auxprop,
saslauthd,pwcheck,authdaemond【如果编译时添加了 --with-authdaemond 】
mech_list SASL 库 使用所有有效插件
(描述:空格分隔开的允许使用的机制的列表,比如:'plain otp'。用来在安装的插件
中限制出一个可用机制的子集。)
authdaemond_path SASL 库 /dev/null(默认值)
(描述:Courier-authlib 的 authdaemond 的 Unix 套接字的路径。仅当 pwcheck_method 设
置为 authdaemond 时可用。)
-------------------------------------------------------------------
courier-authlib
10.0.100.88 [~]$ rpm -qf /var/spool/authdaemon/socket
courier-authlib-0.62.4-2hzq
10.0.100.88 [~]$ cat /etc/authlib/authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD xmall.com
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_PORT 3306
...................................
4 了解 postfix 的查询表
postfix 有许多的重要参数(main.cf)都需要能够查询其对应关系,将所有的对应关系保存在另外一个文件 "查询表"
查询表格式:
查询表的原始数据来自简单的文本文件,文件的每一行定义一组 "key_value" 对应关系,key 与 value
以空白隔开,例如:
cat /etc/postfix/local_in_senders
tech@xmall.com local_in_only
it@xmall.com local_in_only
postmap命令创建查询表的数据库文件
postmap /etc/postfix/local_in_senders
file /etc/postfix/local_in_senders.db
/etc/postfix/local_in_senders.db: Berkeley DB (Hash, version 8, native byte-order)
postfix 默认的查询表数据格式为hash
postconf | grep 'default_database_type'
default_database_type = hash
当将查询表赋值给相关参数时,则必须指出查询表的数据库类型,例如:
postconf | grep 'hash:/'
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, nis:mail.aliases
查询表的特例-别名文件
由于别名文件的格式不同于postfix 其它的postfix 查询表,所以不能使用postmap 创建别名的数据库文件,而应该使用postalias/newalias
别名文件位置:alias_maps = hash:/etc/aliases, nis:mail.aliases
别名文件格式:
grep -vE '(^$|^#)' /etc/aliases | head -n 3
mailer-daemon: postmaster
postmaster: root
bin: root
daemon: root
5 linux系统 用 32位 还是 64位?
如果邮件比较少,邮件 *** 作系统压力不大的话,32位或者64位都可以,只不过部署extmail(源码)时要区分一下,比如:
i386
/usr/lib/sasl2/smtpd.conf
/usr/lib/mysql/
x86_64
/usr/lib64/sasl2/smtpd.conf
/usr/lib64/mysql/
6 linux系统硬盘分区
建议 /var /home 单独分区,原因有两个
1 因为extman 与 extmail都是以 /home/domains作为基础目录
2 /var/log/maillog 邮件日志; /var/spool/postfix 邮件队列
10.0.100.88 [xmall.com]$ pwd
/home/domains/xmall.com
10.0.100.88 [xmall.com]$ du -sh *
120K zm1
436M zm2
10.0.100.88 [xmall.com]$ ll
total 8
drwx------ 3 vuser vgroup 4096 Dec 19 16:00 zm1
drwx------ 3 vuser vgroup 4096 Dec 19 16:00 zm2
7 安装依赖rpm包 (这里使用了本地cdrom源,如果你不是本地yum源,请直接yum install 后边的rpm包)
yum --disablerepo=\* --enablerepo=c5-media install httpd php php-mysql mysql mysql-server mysql-devel openssl-devel perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect
建议只导出必要的弊拆字段,再嫌卖导入到 iRedMail 的数据库中。我有好久没关注 ExtMail,对租者枣它的表结构不了解。如果你能将它的表结构贴上来(不要以附件形式贴)会有利于别人帮忙分析
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)