web-dev-qa-db-ja.com

Postfix→Dovecot LMTP:ユーザーが存在しない:uid @ domain

DovecotのLMTPを介してPostfixにローカルメールを配信しようとしています(とりわけprocmailをsieveに置き換えるため)。これまで、mailbox_command = procmail - a "$EXTENSION"を使用して、ローカル~/Maildirsに配信しています。

http://wiki2.dovecot.org/HowTo/PostfixDovecotLMTP に続いて、/etc/dovecot/conf.d/10-master.confで(postfixがchrootされている)設定しました

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は "ユーザー" [email protected]を含むドメインについて混乱しています。

Jan 11 08:22:17 s18015955 postfix/lmtp[7374]: 3D84E19B0290E: to=<[email protected]>, orig_to=<[email protected]>, 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 <[email protected]> User doesn't exist: [email protected] (in reply to RCPT TO command))

LMTPは[email protected]ではなくeudoxos(LDAP内)のみを探しているはずです。どうすればそれを達成できますか?

配信プログラム(LDA)を使用している場合は、受信者のユーザー名が引数(mailbox_command = /usr/lib/dovecot/deliver -f "$SENDER" -a "$RECIPIENT"など)として指定されていますが、LDAを使用したログのアクセス許可に問題がありました(そのため、LDAの使用は推奨されていません)。

8
eudoxos

解決策は設定することでした

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

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

4
eudoxos

以下を設定する必要があります。

auth_username_format = %Ln

conf.d/10-auth.conf

これにより、ドメイン名と「@」が削除されます。

12
oneprq