如何在windows下部署extmail

如何在windows下部署extmail,第1张

1 整个 extmail邮件系统,是由多个软件构成的: 

软件名称         功能 (注意:没有列出反垃圾邮件软件与杀毒软件)   

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

使用Web方式可以正常接收邮件,但使用Outlook等客户端无法接收邮件。

所在的服务器安装了其他杀毒软件,监控或干涉了POP服务的正常连接。

防火墙或者路由器等网络层的设置不正确,导致POP服务无法连接。

Outlook的设置不正确。

2、所有邮件都无法接收。(包括本域内用户发送的邮件和外部发来的邮件)。

a) 服务器25端口无法从本机访问。

b)服务器端口无法从局域网访问。

c)服务器端口无法从公网地址访问。

d)域名解析有误。

e) 服务器端队列有积压。

来源:U-Mail邮箱服务器


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/364780.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存