LMTP from remote Postfix, user mismatch -> Mailbox does not exist

Andreas Winkelmann ml at awinkelmann.de
Fri Sep 22 12:33:23 EDT 2006

Am Friday 22 September 2006 18:17 schrieb Tomasz Chmielewski:

> Currently, I'm using Cyrus and Postfix on the same box, everything works
> fine.
> Due to the high load of the server, I'm going to split the server into
> several machines.
> Users are kept in MySQL database, each email has its own login and
> password:
> joe at domain, user-001, password
> mary at domain2, user-002, password2
> Right now, when Postfix receives email to joe at domain, it delivers it to
> Cyrus using local sockets (lmtp) to user-001.
> With separate machines, it doesn't work.
> First, Postfix machine receives email to joe at domain.
> Then, it sends it via lmtp (tcp) to Cyrus machine, with the address
> joe at domain.
> Cyrus wants to deliver the mail to "joe" mailbox, which doesn't exist -
> cyrus should deliver the mail to "user-001":
> connection from postfix1.domain []
> about to exec /usr/lib/cyrus-imapd/lmtpd
> login: postfix1.syneticon.net [] cyruslmtp PLAIN User logged in
> verify_user(user.joe) failed: Mailbox does not exist
> Unfortunately, I'm not even sure where to fix the problem, as when
> Postfix attempts to deliver mail via lmtp/tcp, Cyrus/lmtp doesn't even
> do any lookups in MySQL database.

Cyrus-Imapd has no ability to do lookups in mysql for Recipients.

Use Postfix to deliver the Mail to the right Recipient/Mailbox.

> I started lmtpd with "-a" parameter, as hosts are in a trusted network:
>    lmtp          cmd="lmtpd -a" listen="lmtp" prefork=1
> Anyone knows how to fix this issue?
> In other words, lmtpd, when receives an email to joe at domain, should
> perform a lookup in MySQL database:
> SELECT dest FROM virtual WHERE alias='joe at domain'


More information about the Info-cyrus mailing list