Virtual domains, Mailbox unknown

Mike O'Rourke mjoop at
Tue Feb 17 08:21:20 EST 2004

>>> Christopher Paluch <cpaluch at> 02/16/04 07:50pm >>>
>>-----Original Message-----
>>From: Mike O'Rourke <mjoop at>
>>Sent: Feb 16, 2004 12:42 PM
>>To: info-cyrus at 
>>Subject: Re: Virtual domains, user at Mailbox unknown
>>>>> Christopher Paluch <cpaluch at> 02/16/04 05:04pm >>>
>>>I to am having the same problem.    I have a user called
>>> at  and when I do a cyradm lm 
>>>command it is listed.
>>>In my imapd.conf file, I have specified the following parameters:
>>>unixhierarchysep:      yes
>>>virtdomains:              yes
>>>I have also modifed my so the cyrusv2 listing has the
>>>following parameters:
>>>S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP
>>>When I send an email to that user, it gets through Sendmail okay,
>>sends it on to cyrusv2 - who rejects it 
>>>for the same errors as below.
>>>Does anyone have any suggestions to what I've forgotten to do, that
>>>would be causing this problem?  Also 
>>>does anyone know what the proper way is to specify the cyrusv2
>>>in is?
>>>Thanks for any assistance!
>>>-Chris Paluch
>>Hi Chris,
>>Can you provide some further info, such as extracts of
>>/var/log/imapd.log, your file, your /etc/imapd.conf
>>(esecially the lines that deal with lmtp),your /etc/cyrus.conf (the
>>lines) and the results of an "lam" command in cyradm?
>>In your file, you need two things: a line that says:
>>"define(`confLOCAL_MAILER', `cyrusv2')dnl" and the contents of
>>"cf/mailer/cyrusv2.m4" put at the end of your file (in
>>definition, you can change the S=... line so that when you regenerate
>>new file, you will not have to remember to change that
>Here is an excerpt from my mail.log:
>Feb 13 14:51:17 ecnsrc01 sendmail[16007]: i1DKpHVa016007:
from=<chris_paluch at>, size=
>757, class=0, nrcpts=1,
msgid=<20040213205116.57961.qmail at>, 
>proto=ESMTP, daemon=MTA, relay=[]
>Feb 13 14:51:17 ecnsrc01 sendmail[16009]: i1DKpHVa016007:
to=< at>, delay=00:00:00, 
>xdelay=00:00:00, mailer=cyrusv2, pri=30577, relay=localhost,
dsn=5.1.1, stat=User unknown
>Feb 13 14:51:17 ecnsrc01 sendmail[16009]: i1DKpHVa016007:
i1DKpHVa016009: DSN: User unknown
>Feb 13 14:51:23 ecnsrc01 sendmail[16009]: i1DKpHVa016009:
to=<chris_paluch at>, delay=
>00:00:06, xdelay=00:00:06, mailer=esmtp, pri=31781, [], dsn=
>2.0.0, stat=Sent (ok dirdel)
>Here is the corresponding imapd.log:
>Feb 13 14:42:24 ecnsrc01 master[16001]: about to exec
/usr/cyrus/bin/ctl_cyrusdbFeb 13 14:42:24 
>ecnsrc01 ctl_cyrusdb[16001]: checkpointing cyrus databases
>Feb 13 14:42:25 ecnsrc01 ctl_cyrusdb[16001]: archiving log file:
>Feb 13 14:42:27 ecnsrc01 ctl_cyrusdb[16001]: archiving database file:
>Feb 13 14:42:27 ecnsrc01 ctl_cyrusdb[16001]: archiving log file:
>Feb 13 14:42:28 ecnsrc01 ctl_cyrusdb[16001]: done checkpointing cyrus
>Feb 13 14:42:28 ecnsrc01 master[15527]: process 16001 exited, status
>Feb 13 14:51:17 ecnsrc01 master[16010]: about to exec
>Feb 13 14:51:17 ecnsrc01 lmtpunix[16010]: executed
>Feb 13 14:51:17 ecnsrc01 lmtpd[16010]: accepted connection
>Feb 13 14:51:17 ecnsrc01 lmtpd[16010]: lmtp connection preauth'd as
>Feb 13 14:52:22 ecnsrc01 master[15527]: process 16010 exited, status
>My imapd.conf doesn't contain any parameters having to do with lmtp. 
Here is a copy of my cyrus.conf 
>(which I haven't changed):
># standard standalone server implementation
>  # do not delete this entry!
>  recover       cmd="ctl_cyrusdb -r"
>  # this is only necessary if using idled for IMAP IDLE
>#  idled                cmd="idled"
># UNIX sockets start with a slash and are put into /var/imap/socket
>  # add or remove based on preferences
>  imap          cmd="imapd" listen="imap" prefork=0
>  imaps         cmd="imapd -s" listen="imaps" prefork=0
>  pop3          cmd="pop3d" listen="pop3" prefork=0
>  pop3s         cmd="pop3d -s" listen="pop3s" prefork=0
>  sieve         cmd="timsieved" listen="sieve" prefork=0
>  # at least one LMTP is required for delivery
>#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
>  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
>  # this is only necessary if using notifications
>#  notify       cmd="notifyd" listen="/var/imap/socket/notify"
proto="udp" prefork=1
>  # this is required
>  checkpoint    cmd="ctl_cyrusdb -c" period=30
>  # this is only necessary if using duplicate delivery suppression
>  delprune      cmd="ctl_deliver -E 3" at=0400
>  # this is only necessary if caching TLS sessions
>  tlsprune      cmd="tls_prune" at=0400
>lam user/ at 
> at lrswipcda
>cyrus lrswipcda
>    Chris Paluch

Hi Chris,

Admitedly, I am using an older version of Cyrus-IMAPD (2.2.0-ALPHA),
don't blast me about that -- I have to upgrade the whole system (SuSE
7.1 AXP) so I can get away from gcc 2.96 for newer compiles, and I
haven't gotten to it yet -- such a pain.

In any case, in your imapd.log, I see that master calls
/usr/cyrus/bin/lmtpd, which gives rise to lmtpunix taking over, as it
should, but then it switches to lmtpd as the process leader (before the
process ID in []). In my version, this remains lmtpunix. Since I am
still using the older version, this may be normal now, but I am not
sure. Can someone else chime in about that?

What seems strange, though is that the connection gets preauthed, but
no further word from the lmtp* process -- no failure to find a mailbox,
and no checks (append, duplicate, etc.) at all on the mailbox -- it is
as if sendmail is not sending anything across the connection.

What does the cyrus mailer section of your look like?

Home Page:
List Archives/Info:

More information about the Info-cyrus mailing list