Greetings. I'm a new cyrus-imap user with delivery-to-virtual-domains
problem.

I've set up a server with cyrus-imap 2.2.12, cyrus-sasl2, Postfix, MySQL,
and virtual domains. Mail inbound to users in virtual domains isn't being
delivered. SMTP and MySQL are working OK.

Postfix says it has handed off a message to [EMAIL PROTECTED]:

Jan 26 17:59:27 petacchi postfix/pipe[858]: 2ABB75081D:
to=<[EMAIL PROTECTED]>, relay=cyrus, delay=0, status=sent (domain2.tld)

But there's nothing in maillog on the imap side.

And imtest says there's no such message:

petacchi# /usr/local/bin/imtest -m login -a [EMAIL PROTECTED] localhost
S: * OK domain1.tld Cyrus IMAP4 v2.2.12 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS
NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY
SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE STARTTLS
S: C01 OK Completed
Please enter your password:
C: L01 LOGIN [EMAIL PROTECTED] {5}
S: + go ahead
C: <omitted>
S: L01 OK User logged in
Authenticated.
Security strength factor: 0
. select INBOX
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)]
* 0 EXISTS 

But if I send mail to [EMAIL PROTECTED] (which is also a virtual domain, but
one that happens to be the same domain as the mailserver's real domain), the
message does show up.

Searching the info-cyrus mailing lists, I found two possible issues, but I'm
not sure either explains my problem:

--cyrus-imap doesn't like usernames with '@' signs in them, and that's what
we have in the database. This may be the problem, BUT a) I don't understand
from the FAQ entry which file I'm supposed to fix and b) delivery works fine
with the virtual domain entry that's also a real domain.

--the deliver statement in Postfix's master.cf file might want ${mailbox}
instead of ${user}. I also tried changing this, but no joy.

Here is the relevant part of master.cf:

cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/usr/local/cyrus/bin/deliver -e -r ${sender} -m
${extension} ${user}

And here is imapd.conf:

configdirectory: /usr/local/imap
partition-default: /usr/local/imap/spool
unixhierarchysep: yes
servername: domain1.tld
admins: cyrus
autocreatequota: 1024000
sieveusehomedir: false
sievedir: /usr/local/imap/sieve
sasl_pwcheck_method: auxprop
tls_cert_file: /usr/local/imap/cyrus.pem
tls_key_file: /usr/local/imap/cyrus.key
tls_ca_file: /usr/local/imap/cacert.pem
lmtpsocket: /usr/local/imap/socket/lmtp
idlesocket: /usr/local/imap/socket/idle
notifysocket: /usr/local/imap/socket/notify
virtdomains: yes
defaultdomain: domain1.tld
allowusermoves: yes
sasl_auxprop_plugin: sql
sasl_sql_user: <edited out>
sasl_sql_passwd: <edited out>
sasl_sql_database: postfix
sasl_sql_hostnames: localhost
sasl_sql_select: SELECT password FROM mailbox WHERE username='[EMAIL 
PROTECTED]' AND
active='1'
sasl_sql_verbose: yes
sasl_sql_engine: mysql
sasl_mech_list: plain login
sasl_password_format: crypt
                   
BTW, the SQL SELECT statement returns a password (encrypted) when I run it
manually. Again, the "username" entries in the database are in the form of
"[EMAIL PROTECTED]".

Thanks in advance for any clues on how to get mail delivery working.

dn

versions:
FreeBSD 6.0-RELEASE on amd64
cyrus-imap 2.2.12
cyrus-sasl2 2.1.21
MySQL server and client 4.1
Berkeley DB 3
Postfix 2.2.5



----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Reply via email to