如何configurationCyrus IMAP将缺省领域提交给SASL?

我已经configurationPostfix使用纯文本来处理SASL,前者在请求身份validation时自动向后者提交默认领域。

假设域名是example.com,用户是foo,那么到目前为止,我是如何在我的Debian系统上configuration的。

在后缀configuration文件/etc/main.cf

 smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain 

SMTPconfiguration文件/etc/postfix/smtpd.conf包含:

 pwcheck_method: saslauthd mech_list: PLAIN 

SASL守护进程在/etc/default/saslauthd使用sasldb机制进行configuration:

 MECHANIMS="sasldb" 

SASL数据库文件包含一个用户,由sasldblistusers2

 [email protected]: userPassword 

身份validation运行良好,而不必提供一个领域,postifx这样做对我来说。 但是,我不知道如何告诉Cyrus IMAP守护进程执行相同的操作。

我在我的SASL数据库中创build了一个用户cyrus ,它使用主机域名领域,而不是example.com ,用于pipe理目的。 我用这个帐号通过cyradm为用户foo创build一个邮箱:

 cm user.foo 

IMAP在/etc/imapd.conf是这样configuration的:

 allowplaintext: yes sasl_minimum_layer: 0 sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN servername: mail.example.com 

如果我启用跨域身份validation( loginrealms: example.com ),尝试使用imtest进行身份validation可以使用以下选项:

 imtest -m login -a [email protected] localhost 

不过,我希望能够进行身份validation,而无需指定领域,如下所示:

 imtest -m login -a foo localhost 

我认为使用virtdomains (将其设置为useridon )和defaultdomain: example.com将做到这一点,但我不能让它工作。

我总是以这个错误结束:

 cyrus/imap[11012]: badlogin: localhost [127.0.0.1] plaintext foo SASL(-13): authentication failure: checkpass failed 

我所理解的是cyrus-imapd在尝试validation用户foo时从不尝试提交领域。

我的问题:我如何告诉cyrus-imapd自动发送域名作为域名?

感谢您的见解!

关于添加此function有一些古老的讨论,但显然没有办法指定默认的身份validation领域。

赛勒斯IMAP的发展基本上已经停滞了十多年(1998 – 2002年是“重大”发展的最后一次冲刺)。 是的,还有更新(最后一次是2012年4月19日,但一年前)。

我不会屏住呼吸。