==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.4
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MYSQL
- 使用的 Linux/BSD 发行版名称及版本号:CENTOS 6.5
- 与您的问题相关的日志信息:
====
   请教张工,IREDMAIL 装完后如何查看修改HELO的设置。

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.4
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MYSQL
- 使用的 Linux/BSD 发行版名称及版本号:CENTOS 6.5
- 与您的问题相关的日志信息:
====
postmaster账号中有执行backup_mysql.sh出错的邮件:
[ERROR] MySQL username or password is incorrect in file /var/vmail/backup/backup_mysql.sh.
Please fix them first.

报错提示是MYSQL用户名或密码错误,用户名肯定不会错,查看backup_mysql.sh中的export MYSQL_PASSWD的密文是30位,我用MYSQL password()生成的密文是41位,位数不符,所用的加密函数应该不一样,请教张工,怎样生成合用的export MYSQL_PASSWD的密文?

ZhangHuangbin 写道:

CentOS 6 带的 dovecot 有点旧,acl 方面不确定是否有什么 bug。
建议先给这个管理员所有的权限,如果还不行,换用 CentOS 7 测试一下看看,它带的 dovecot 版本新一些。

参考: http://wiki2.dovecot.org/ACL

给postmasterf赋予了admin的权限,还是不行,要装CENTOS 7测试看看。
postmaster@diagnosis.cn anyone                               lookup read
postmaster@diagnosis.cn user=postmaster@diagnosis.cn        admin create delete insert lookup read write

==== ==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.4
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MYSQL
- 使用的 Linux/BSD 发行版名称及版本号:CENTOS 6.5
- 与您的问题相关的日志信息:
====
按照文档说明配置了PUBLIC folder 功能,在public 下面建立了一个子目录ShareFolder 配置了ACL控制,赋予POSTMASTER查询、读、写删除的权限,但是测试中发现用管理员帐号不能对此文件夹下的文件进行删除,在选中文件点删除后,会在已删除邮件文件夹下看到要求删除的邮件,但是ShareFolder目录下邮件依然存在。删除多次后,已删除邮件目录中出现多个邮件副本,只起到了一个邮件复制的功能。
[root@mail public]# doveadm acl get -A "Public/ShareFolder"
Username                 ID                            Global Rights
postmaster@diagnosis.cn anyone                               lookup read
postmaster@diagnosis.cn user=postmaster@diagnosis.cn        create delete insert lookup read write

截图见附件

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.4
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):mysql
- 使用的 Linux/BSD 发行版名称及版本号:centos 6.5
- 与您的问题相关的日志信息:
====
显示白名单的指令使用有错误提示,指令无误
[root@mail tools]# python wblist_admin.py --list --whitelist
* Establishing SQL connection.
Traceback (most recent call last):
  File "wblist_admin.py", line 112, in <module>
    if not '@' in account:
NameError: name 'account' is not defined

另外还想请教张工,0.9.2版本的控制单个用户收发外网邮件的SQL指令在0.9.3版本以后还能使用吗,wblist_admin.py这个工具来管理收发外网的邮件方式还没搞明白,(是使用inbound 和 outbound 的黑白名单来实现吗?)有个具体例子就好了。

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.3
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):mysql
- 使用的 Linux/BSD 发行版名称及版本号:centos 6.5 x64
- 与您的问题相关的日志信息:
====
张工,新装的0.9.3版本,自带的IREDPAD 版本是1.7.0,默认opt/ iRedAPD-1.7.0/tools目下没有wblist_admin.py这个工具,(文档中说是1.7.1版本开始支持wblist_admin.py)不知道是不是版本低的原因,我从源码库中把代码复制出来用vi生成同样的文件名(不能下载),然后 执行python wblist_admin.py --add --whitelist 592549521@qq.com 报错:

[root@mail tools]# python wblist_admin.py --add --whitelist 592549521@qq.com
Traceback (most recent call last):
  File "wblist_admin.py", line 13, in <module>
    from libs import utils, wblist
ImportError: cannot import name wblist

不知道是用VI指定生成这个文件有问题,还是其他什么原因,另外我这里新版本0.9.3装好后,接受我自己的QQ邮件老是直接打***spam***进了垃圾箱,不知道为什么,我看了显示来源X-Spam-Score: 8.323,不知道是不是这个分值高的原因,上一个版本0.9.2同样的QQ邮箱就没这个问题,不知道该怎么调整,请张工指教。

谢谢张工的回复,静待iredapd 1.8.0发布。

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.3
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MYSQL
- 使用的 Linux/BSD 发行版名称及版本号:CENTOS 6.5 64位
- 与您的问题相关的日志信息:
====
新版本的iredpad 里面找不到“sql_user_restrictions”这个插件,如何控制用户收发外域的邮件,另外iredpad代替了Cluebringer,想知道iredpad如何禁用灰名单、限制用户日发邮件数量,0.9.3安装过程中没有提示输入支持的附件大小,默认不知道附件的大小限制是多少?

ZhangHuangbin 写道:
dsandrew 写道:

Nov 25 13:11:15 auth-worker(41130): Debug: sql(dongjianfeng@iagnosis.cn,127.0.0.1): query: SELECT password, allow_nets FROM mailbox WHERE username='dongjianfeng@iagnosis.cn' AND enableimapsecured=1 AND active=1
Nov 25 13:11:15 auth-worker(41130): Debug: auth(dongjianfeng@iagnosis.cn,127.0.0.1): allow_nets: Matching for network 172.16.6.201
Nov 25 13:11:15 auth-worker(41130): Info: passdb(dongjianfeng@iagnosis.cn,127.0.0.1): allow_nets check failed: IP not in allowed networks
Nov 25 13:11:15 auth: Debug: auth(dongjianfeng@iagnosis.cn,127.0.0.1,<eeLXfFYlAgB/AAAB>): allow_nets: Matching for network 172.16.6.201
Nov 25 13:11:15 auth: Info: passdb(dongjianfeng@iagnosis.cn,127.0.0.1,<eeLXfFYlAgB/AAAB>): allow_nets check failed: IP not in allowed networks
Nov 25 13:11:17 auth: Debug: client passdb out: FAIL    1       user=dongjianfeng@iagnosis.cn
Nov 25 13:11:17 imap-login: Info: Disconnected (auth failed, 1 attempts in 2 secs): user=<dongjianfeng@iagnosis.cn>,

这里说的很清楚,"IP not in allowed networks",所以被按照密码不对的错误来拒绝登陆了。
这个没问题啊。确实拒绝了。

张工,我想实现的是部分用户只能在内网登录邮箱,根据文档内容allow_nets 这个允许网络字段填写上内网IP或内网IP段后,这个用户就只能使用指定的IP或网段来登录邮箱,而不是拒绝,现在是我已经填写了对应的IP和网段都还是不能登录。
下面文档也是这么说明的
Restarting Dovecot service is required.
Sample usage: allow user user@domain.com to login from IP 172.16.244.1 and network 192.168.1.0/24:
sql> USE vmail;
sql> UPDATE mailbox SET allow_nets='172.16.244.1,192.168.1.0/24' WHERE username='user@domain.com`;
To remove this restriction, just set mailbox.allow_nets to NULL, not empty string.

ZhangHuangbin 写道:

贴 debug 日志吧。不然没法帮忙分析。

dovecot 设置 默认没有开debug模式,打开后看到以下日志:
Nov 25 13:09:17 master: Warning: Killed with signal 15 (by pid=41093 uid=0 code=kill)
Nov 25 13:09:19 master: Info: Dovecot v2.1.17 starting up (core dumps disabled)
Nov 25 13:11:15 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth
Nov 25 13:11:15 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_mysql.so
Nov 25 13:11:15 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_pgsql.so
Nov 25 13:11:15 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so
Nov 25 13:11:15 auth: Debug: passwd-file /etc/dovecot/dovecot-master-users: Read 1 users in 0 secs
Nov 25 13:11:15 auth: Debug: auth client connected (pid=41128)
Nov 25 13:11:15 auth: Debug: client in: AUTH    1       PLAIN   service=imap secured  session=eeLXfFYlAgB/AAAB        lip=127.0.0.1   rip=127.0.0.1   lport=143     rport=46850     resp=<hidden>
Nov 25 13:11:15 auth-worker(41130): Debug: Loading modules from directory: /usr/lib64/dovecot/auth
Nov 25 13:11:15 auth-worker(41130): Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_mysql.so
Nov 25 13:11:15 auth-worker(41130): Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_pgsql.so
Nov 25 13:11:15 auth-worker(41130): Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so
Nov 25 13:11:15 auth-worker(41130): Debug: passwd-file /etc/dovecot/dovecot-master-users: Read 1 users in 0 secs
Nov 25 13:11:15 auth-worker(41130): Info: mysql(127.0.0.1): Connected to database vmail
Nov 25 13:11:15 auth-worker(41130): Debug: sql(dongjianfeng@iagnosis.cn,127.0.0.1): query: SELECT password, allow_nets FROM mailbox WHERE username='dongjianfeng@iagnosis.cn' AND enableimapsecured=1 AND active=1
Nov 25 13:11:15 auth-worker(41130): Debug: auth(dongjianfeng@iagnosis.cn,127.0.0.1): allow_nets: Matching for network 172.16.6.201
Nov 25 13:11:15 auth-worker(41130): Info: passdb(dongjianfeng@iagnosis.cn,127.0.0.1): allow_nets check failed: IP not in allowed networks
Nov 25 13:11:15 auth: Debug: auth(dongjianfeng@iagnosis.cn,127.0.0.1,<eeLXfFYlAgB/AAAB>): allow_nets: Matching for network 172.16.6.201
Nov 25 13:11:15 auth: Info: passdb(dongjianfeng@iagnosis.cn,127.0.0.1,<eeLXfFYlAgB/AAAB>): allow_nets check failed: IP not in allowed networks
Nov 25 13:11:17 auth: Debug: client passdb out: FAIL    1       user=dongjianfeng@iagnosis.cn
Nov 25 13:11:17 imap-login: Info: Disconnected (auth failed, 1 attempts in 2 secs): user=<dongjianfeng@iagnosis.cn>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured, session=<eeLXfFYlAgB/AAAB>


请张工再帮忙看看,是不是需要allow_nets 的IP设置成服务器的IP,而不能是个人电脑IP

ZhangHuangbin 写道:

你的这个用户的 mailbox.allow_nets 字段里填的是什么内容?

网段和单个IP都有写入测试过,172.16.1.0/24或者172.16.1.33 都测试过,都不行。

- iRedMail 版本号:0.9.2
- 使用哪个数据库存储用户帐号:MySQL
- 使用的 Linux/BSD 发行版名称及版本号:centos 6.7
- 与您的问题相关的日志信息:

已经按照文档说明将个别用户的allow_nets字段设置了内网地址,但是内网无法登录,重新置为NULL就可以,感觉是查询没有获取到正常的IP地址。
dovecot-mysql.conf 是默认配置,没有改动过。
[root@mail /]# cat /etc/dovecot/dovecot-mysql.conf
driver = mysql
default_pass_scheme = CRYPT
connect = host=127.0.0.1 dbname=vmail user=vmail password=2b5P52KP2is8665OZhpJbCSx3WNwVi
# Required by 'doveadm mailbox ...'.
iterate_query = SELECT username AS user FROM mailbox
password_query = SELECT password, allow_nets FROM mailbox WHERE username='%u' AND enable%Ls%Lc=1 AND active=1
user_query = SELECT \
    '%u' AS master_user, \
    CONCAT(mailbox.storagebasedirectory, '/', mailbox.storagenode, '/', mailbox.maildir) AS home, \
    CONCAT('*:bytes=', mailbox.quota*1048576) AS quota_rule \
FROM mailbox,domain \
WHERE mailbox.username='%u' \
    AND mailbox.domain='%d' \
    AND mailbox.`enable%Ls%Lc`=1 \
    AND mailbox.domain=domain.domain \
    AND domain.backupmx=0 \
    AND domain.active=1 \
    AND mailbox.active=1

登录失败后查询的dovecot 日志:
Nov 23 14:05:51 imap-login: Info: Disconnected (auth failed, 1 attempts in 2 secs): user=<dongjianfeng@iagnosis.cn>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured, session=<3oNTBC8l1AB/AAAB>

要做成树形组织通信录,否则意义不大。

官网上有说明,插件要放入plugins目录,配置文件中要加入插件名称,插件自己的配置文件要修改,三个步骤做完就可以了。

ZhangHuangbin 写道:
finaldusk 写道:

DKIM记录太长DNS上添加不了如何解决?

这是 DNS 服务提供商的问题,不是 DKIM 记录长不长的问题。

ZhangHuangbin 写道:
finaldusk 写道:

DKIM记录太长DNS上添加不了如何解决?

这是 DNS 服务提供商的问题,不是 DKIM 记录长不长的问题。

国内的DNS 很少能支持长记录的TXT解析。DKIM 长度能控制一下就好了。

组织通信录的邮件功能,基本都是商业邮件系统才提供的,开源的邮件系统还没看见有的。