Delayed delivery from postfix to cyrus
Hi all, During the last days our local mailserver suddenly started to behave strangly, as incoming mails aren't delivered. Googling around the whole days unfortunately didn't lead to any solution. Any help from your side is appreciated! I have sent this mail to suse-imap-e@suse.com, too. People receiving it twice might discard on version, thanks! ;-) The configuration is quite simple: postfix -> cyrus. Used packages are postfix-2.0.6-14, cyrus-imapd-2.1.12-34, cyrus-sasl2-2.1.12-31, db-4.0.14-249 and the box is based on SuSE 8.2. As postfix and cyrus were started after executing the the backup script (like every night before), the next incoming mail was bounced due to relay while delivering to cyrus. Oct 26 02:17:01 mail postfix/pipe[23046]: 57230A800D: EB378A8011: to=<user@domain.de>, orig_to=<userorig@domain.de>, relay=cyrus, delay=1002, status=bounced (Command time limit exceeded: "/usr/lib/cyrus/bin/deliver") During the following days some mails were bounced, some others were queued but not bounced, and some others were delivered: Oct 28 02:33:25 mail postfix/pipe[449]: EA3D6A800E: to=<user@domain.de>, orig_to=user@domain.de>, relay=cyrus, delay=1998, status=sent (mail.domain.de) Restarting postfix, cyrus and saslauthd (and cleaning the queue manually by postqueue -f) temporarily fixed the problem, the delay decreased to a usual amount of 1 or 2 seconds. Nevertheless each restart of cyrus leaves the following logs in /var/log/warn: Oct 29 16:55:37 mail master[1718]: setrlimit: Unable to set file descriptors limit to -1: Operation not permitted Oct 29 16:55:37 mail master[1718]: retrying with 1024 (current max) Oct 29 16:55:49 mail tls_prune[2082]: DBERROR db4: 4 lockers In several postings this message were estimated to be of cosmetic character, is this right? Without any logical scheme the following entry as produced by cyrus: Oct 29 16:17:15 mail deliver[858]: connect(/var/lib/imap/socket/lmtp) failed: Connection refused This occurs both while booting the machine as starting cyrus manually, but I don't recognize any scheme. I thought about wrong permissions of /var/lib/imap/socket/lmtp, but they seem to be correct: mail:~ # ls -al /var/lib/imap/socket/ total 8 drwxr-xr-x 2 cyrus mail 4096 Oct 29 16:55 . drwxr-xr-x 12 cyrus mail 4096 Oct 29 20:25 .. -rw------- 1 cyrus mail 0 Oct 2 05:40 imap.lock srwxrwxrwx 1 root root 0 Oct 29 16:55 lmtp -rw------- 1 cyrus mail 0 Oct 2 06:59 lmtpunix.lock -rw------- 1 cyrus mail 0 Oct 4 02:16 sieve.lock mail:~ # ls -al /var/lib/imap/ total 84 drwxr-xr-x 12 cyrus mail 4096 Oct 29 20:25 . drwxr-xr-x 19 root root 4096 Oct 2 11:00 .. drwxr-x--- 2 cyrus mail 4096 Oct 29 16:55 db drwx------ 2 cyrus mail 4096 Oct 29 20:25 db.backup1 drwx------ 2 cyrus mail 4096 Oct 29 19:55 db.backup2 -rw------- 1 cyrus mail 24576 Oct 29 20:25 deliver.db drwxr-x--- 3 cyrus mail 4096 Oct 2 05:36 deliverdb drwxr-x--- 2 cyrus mail 4096 Mar 28 2003 log -rw------- 1 cyrus mail 3728 Oct 29 16:55 mailboxes.db drwxr-x--- 2 cyrus mail 4096 Mar 28 2003 msg drwxr-x--- 2 cyrus mail 4096 Oct 29 20:26 proc drwxr-x--- 28 cyrus mail 4096 Oct 2 05:36 quota drwxr-xr-x 2 cyrus mail 4096 Oct 29 16:55 socket -rw------- 1 cyrus mail 8192 Oct 29 16:55 tls_sessions.db drwxr-x--- 28 cyrus mail 4096 Oct 2 05:36 user Using a valid shell for user postfix I can even connect via lmtp: mail:~ # su - postfix -c "/usr/lib/cyrus/bin/deliver -l;" 220 mail LMTP Cyrus v2.1.12 ready Do you have any idea, why the transport of messages from postfix to cyrus is delayed and the incoming mails are bounced in consequence? As already mentioned this behaviour started without any changes to the configuration (running without problems before). See several configuration-files below. Thanks a lot in advance, Thorsten ~~~~~~~~ /etc/cyrus.conf ~~~~~~~~ START { recover cmd="ctl_cyrusdb -r" } SERVICES { imap cmd="imapd" listen="imap" prefork=0 pop3 cmd="pop3d" listen="pop3" prefork=0 sieve cmd="timsieved" listen="sieve" prefork=0 lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=0 } EVENTS { checkpoint cmd="ctl_cyrusdb -c" period=30 delprune cmd="ctl_deliver -E 3" period=1440 tlsprune cmd="tls_prune" period=1440 } ~~~~~~~~ /etc/cyrus.conf ~~~~~~~~ ~~~~~~~~ /etc/imapd.conf ~~~~~~~~ configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus root allowanonymouslogin: no autocreatequota: 100000 reject8bit: no quotawarn: 90 timeout: 480 sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN saslauth_method: shadow virtdomains: 1 ~~~~~~~~ /etc/imapd.conf ~~~~~~~~ ~~~~~~~~ postconf -n ~~~~~~~~ alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases body_checks = pcre:/etc/postfix/body_checks canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix content_filter = daemon_directory = /usr/lib/postfix debug_peer_level = 2 default_destination_concurrency_limit = 10 default_privs = nobody defer_transports = disable_dns_lookups = no header_checks = pcre:/etc/postfix/header_checks inet_interfaces = all local_destination_concurrency_limit = 2 mail_owner = postfix mail_spool_directory = /var/mail mailbox_command = /usr/lib/cyrus/bin/deliver mailbox_size_limit = 51200000 mailbox_transport = cyrus mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_domains = masquerade_exceptions = root message_size_limit = 10240000 mime_header_checks = regexp:/etc/postfix/mime_header_checks mydestination = $myhostname, localhost.$mydomain, /etc/postfix/localdomains mydomain = mail.domain.de myhostname = mail.domain.de mynetworks = aaa.bbb.ccc.ddd/29, eee.fff.ggg.hhh/27 myorigin = $mydomain newaliases_path = /usr/bin/newaliases program_directory = /usr/lib/postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relayhost = relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sender_canonical_maps = hash:/etc/postfix/sender_canonical sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtpd_banner = $myhostname ESMTP smtpd_client_restrictions = reject_rbl_client bl.spamcop.net, reject_rbl_client sbl.spamhaus.org, reject_rbl_client relays.ordb.org smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_non_fqdn_hostname, reject_unknown_recipient_domain, reject_invalid_hostname, reject_unknown_hostname, reject_unknown_sender_domain, reject_rbl_client, permit_mx_backup, reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 ~~~~~~~~ postconf -n ~~~~~~~~ ~~~~~~~~ /etc/postfix/master.cf ~~~~~~~~ # ======================================================================== == # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ======================================================================== == smtp inet n - n - - smtpd pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp relay unix - - n - - smtp showq unix n - n - - showq error unix - - n - - error local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} cyrus unix - n n - - pipe user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient vscan unix - n n - 10 pipe user=vscan argv=/usr/sbin/amavis ${sender} ${recipient} procmail unix - n n - - pipe flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient} ~~~~~~~~ /etc/postfix/master.cf ~~~~~~~~ -- Thorsten Büker * Bärenstr. 19-21 / WG 3106 * 52064 Aachen Tel 0241 - 8865315 * Mobil 0163 - 2572057 * http://bueker.net Nail here for a new monitor -----> [x]
participants (1)
-
Thorsten Büker