[exim] Delivery batching by LMTP

Top Page
Delete this message
Reply to this message
Author: Roger Lynn
Date:  
To: exim-users
Subject: [exim] Delivery batching by LMTP
Hi,

I'm running the Debian package of exim 4.80 with Dovecot 2.1.7. Local
deliveries are by Dovecot's LMTP server, which is working fine, except
that they're not batching - each recipient is delivered individually.

My exim transport configuration is:

lmtp:
driver = lmtp
socket = /var/run/dovecot/lmtp
batch_max = 20
# delivery_date_add
# envelope_to_add

When delivering the same message to two local users, exim logs this:

2012-10-16 12:02:10 1TO4uO-0002n5-6W <= root@??? U=root
P=local S=315
2012-10-16 12:02:10 1TO4uO-0002n5-6W => roger <RLynn@???>
R=local_user T=lmtp S=326
2012-10-16 12:02:10 1TO4uO-0002n5-6W => test <test@???>
R=local_user T=lmtp S=326

And Dovecot LMTP logs this:

Oct 16 12:02:10 alphonse dovecot: lmtp(10737): Connect from local
Oct 16 12:02:10 alphonse dovecot: lmtp(10737, roger):
iXrCFrI+fVDxKQAAAFrtIw: sieve:
msgid=<E1TO4uO-0002n5-6W@???>: stored mail into
mailbox 'Server'
Oct 16 12:02:10 alphonse dovecot: lmtp(10737): Disconnect from local: Client
quit (in reset)
Oct 16 12:02:10 alphonse dovecot: lmtp(10737): Connect from local
Oct 16 12:02:10 alphonse dovecot: lmtp(10737, test): jXrCFrI+fVDxKQAAAFrtIw:
sieve: msgid=<E1TO4uO-0002n5-6W@???>: stored mail
into mailbox 'INBOX'
Oct 16 12:02:10 alphonse dovecot: lmtp(10737): Disconnect from local: Client
quit (in reset)

Why is exim delivering individually, instead of batching? If I telnet to
LMTP and deliver by hand, LMTP handles multiple addresses fine.

"exim -d-all+transport roger test" reports:

>>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>

--------> roger@??? <--------
driver lmtp does not depend on domain
driver lmtp does not depend on local_part
lmtp transport entered
using socket /var/run/dovecot/lmtp
LMTP<< 220 alphonse.fundamentalsltd.co.uk Dovecot ready.
LMTP>> LHLO mail.fundamentalsltd.co.uk

LMTP<< 250-alphonse.fundamentalsltd.co.uk
LMTP<< 250-8BITMIME
LMTP<< 250-ENHANCEDSTATUSCODES
LMTP<< 250 PIPELINING
LMTP>> MAIL FROM:<root@???>

LMTP<< 250 2.1.0 OK
LMTP>> RCPT TO:<roger@???>

LMTP<< 250 2.1.5 OK
LMTP>> DATA

LMTP<< 354 OK
LMTP>> writing message and terminating "."

writing data block fd=6 size=326 timeout=300
LMTP<< 250 2.0.0 <roger@???> iXrCFrI+fVDxKQAAAFrtIw Saved
LMTP>> QUIT

LMTP<< 221 2.0.0 Client quit
lmtp transport yields 1
lmtp transport returned OK for roger@???
LOG: MAIN
=> roger <RLynn@???> R=local_user T=lmtp S=326
--------> test@??? <--------
lmtp transport entered
using socket /var/run/dovecot/lmtp
LMTP<< 220 alphonse.fundamentalsltd.co.uk Dovecot ready.
LMTP>> LHLO mail.fundamentalsltd.co.uk

LMTP<< 250-alphonse.fundamentalsltd.co.uk
LMTP<< 250-8BITMIME
LMTP<< 250-ENHANCEDSTATUSCODES
LMTP<< 250 PIPELINING
LMTP>> MAIL FROM:<root@???>

LMTP<< 250 2.1.0 OK
LMTP>> RCPT TO:<test@???>

LMTP<< 250 2.1.5 OK
LMTP>> DATA

LMTP<< 354 OK
LMTP>> writing message and terminating "."

writing data block fd=7 size=326 timeout=300
LMTP<< 250 2.0.0 <test@???> jXrCFrI+fVDxKQAAAFrtIw Saved
LMTP>> QUIT

LMTP<< 221 2.0.0 Client quit
lmtp transport yields 1
lmtp transport returned OK for test@???
LOG: MAIN
=> test <test@???> R=local_user T=lmtp S=326
LOG: MAIN
Completed QT=10s

"exim --version" reports:

Exim version 4.80 #2 built 23-Sep-2012 11:04:32
Copyright (c) University of Cambridge, 1995 - 2012
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2012
Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011)
Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc GnuTLS
move_frozen_messages Content_Scanning DKIM Old_Demime
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz
dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql sqlite
Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated

Thank you for any assistance,

Roger