I get an error during the first IMAP connection to cyrus after an account in Outlook Express is created. The message is: "Bei der Verbindung zum Server ist ein Fehler aufgetreten" ("The connection to the server has failed"). Code: 800ccc0e
During the first connection Outlook Express shows a dialog box "Alle Ordner dieses Kontos sind zur Zeit ausgeblendet. Möchten Sie eine Liste der zur Verfügung stehenden Ordner sehen?" (sense in english: All folder are hidden yet. Do you want to see all available folders?) This is the point where the error appears.
The user was created by the OX admin GUI interface and makes no problems when polled by a POP3 account. Note that I configured a second account in Outlook Express as POP3 account for testing purposes so that the same mailbox is polled by a POP3 account as well as by an IMAP4 account. I don't know of an option on cyrus that a mailbox has to be configured either as POP3 mailbox or IMAP4 mailbox and I didn't find such an option in the GUI. Because all was configured by the openSUSE 10.3 installer (BF_6_4_2) I expect that cyrus should work without need to be reconfigured.
The successful polling initiated by the POP3 account is logged in the following way:
---------- galle Mon Jun 16 23:33:38 2008
>1213652018>+OK Mailbox locked and ready
>1213652018>+OK 0 0
Unfortunately I cannot see any records with the failed IMAP4 connection. I already posted into the openSUSE list because of that. A login with imtest with that user works correctly and is logged. A login with cyradm with that user is working as well. That shows that an authentication problem can be excluded. The firewall was disabled. Wireshark shows that three TCP packet pairs (request/response) on the port 143 so that Outlook Express really reaches the server:
send by Outlook Express:
response send by cyrus with flags RST and ACK
This is repeated 3 times.
PS: my imapd.conf and cyrus.conf may be helpful
sasl_mech_list: PLAIN LOGIN
# standard standalone server implementation
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"
# this is only necessary if using idled for IMAP IDLE
# UNIX sockets start with a slash and are put into /var/lib/imap/socket
# add or remove based on preferences
imap cmd="imapd" listen="127.0.0.1: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/lib/imap/socket/lmtp" prefork=0
# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/lib/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="cyr_expire -E 3" at=0400
# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" at=0400
# Uncomment the next entry, if you want to automatically remove
# old messages of EVERY user.
# This example calls ipurge every 60 minutes and ipurge will delete
# ALL messages older then 30 days.
# enter 'man 8 ipurge' for more details
# cleanup cmd="ipurge -d 30 -f" period=60