--
On Mar 15, 2004, at 16:37, Spaced wrote:
> Ugraded to Exim 4, and I'm seeing a few of these in mainlog:
>
> 2004-03-15 17:29:25 1B2ZLd-0005ol-Ld Unfrozen by forced delivery
> 2004-03-15 17:29:25 1B2ZLd-0005ol-Ld **
> c.sears_uc@???:
> Unrouteable address
> 2004-03-15 17:29:25 1B2ZLd-0005ol-Ld Frozen (delivery error message)
>
> What have I done wrong so that unroutable address' are sitting here
> stuffing
> up my queue?
Exim has accepted, but failed to deliver a message for some reason
(check your 'mainlog'), and is now trying to send a delivery status
notification to the sender of the original mail. However, the sender
address was invalid (probably forged).
Exim may accept, but fail to deliver, mail for a variety of reasons.
Chances are that you don't use "check_local_user" in your "local_user"
router -- in which case mail to <any-invalid-name@yourdomain> will
cause such a delivery notice to be generated.
If you deliver mail to Cyrus (via LMTP), you have two problems:
1) You cannot use 'check_local_user' unless the recipient also has a
UNIX account on your system, and
2) Exim will accept, but Cyrus will then reject, mails containing the
NUL (\0) character.
My solution to these two are as follows.
1) In my "local_user" router, I have commented out "check_local_user",
but instead use:
require_files =
/var/spool/cyrus/mail/${lc::${substr_0_1::$local_part}}/user/
${lc::$local_part}
I make sure that the Exim user (in my case, 'Debian-exim') has read
access to the Cyrus spool folders ("adduser Debian-exim mail").
2) In my LMTP transport, I setup a transport filter to strip off NUL
characters:
cyrus_lmtp:
driver = lmtp
socket = /var/run/cyrus/socket/lmtp
transport_filter = /usr/bin/tr -d \\000
batch_max = 20
user = cyrus
--
[ smime.p7s of type application/pkcs7-signature deleted ]
--