Postfix→Dovecot LMTP:用户不存在:uid @ domain


9

我试图让Postfix通过Dovecot的LMTP传递本地邮件(除其他以外,用筛子替换procmail)。到目前为止,我一直在使用mailbox_command = procmail - a "$EXTENSION",将其交付给local ~/Maildir

http://wiki2.dovecot.org/HowTo/PostfixDovecotLMTP之后,我在中配置了(后缀为chroot)/etc/dovecot/conf.d/10-master.conf

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group=postfix
    user=postfix
    mode=0600
  }

并添加到 /etc/postfix/main.cf

mailbox_transport = lmtp:unix:private/dovecot-lmtp

现在,这几乎可行(Postfix与LMTP套接字通信),但是LMTP对于eudoxos@mydomain.eu包含域的“用户”感到困惑:

Jan 11 08:22:17 s18015955 postfix/lmtp[7374]: 3D84E19B0290E: to=<eudoxos@mydomain.eu>, orig_to=<fristname.lastname@mydomain.eu>, relay=iota.mydomain.eu[private/dovecot-lmtp], delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (host iota.mydomain.eu[private/dovecot-lmtp] said: 550 5.1.1 <eudoxos@mydomain.eu> User doesn't exist: eudoxos@mydomain.eu (in reply to RCPT TO command))

LMTP应该只eudoxos在LDAP中寻找而不是在eudoxos@mydomain.eu。我该如何实现?

如果我使用的是传递程序(LDA),则将收件人用户名指定为自变量(如mailbox_command = /usr/lib/dovecot/deliver -f "$SENDER" -a "$RECIPIENT"),但是使用LDA的日志权限存在问题(出于这个原因,Dovecot Wiki不鼓励使用LDA)。

Answers:


13

您需要设置:

auth_username_format = %Ln

conf.d / 10-auth.conf中

这将删除域名和“ @”。


当不使用LDAP时,这解决了我的问题。👍
麦克科尼利亚罗

4

解决方案是设置

user_filter = (&(objectClass=posixAccount)(uid=%n)

/etc/dovecot/dovecot-ldap.conf.ext

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.