我试图让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)。