Hi List

A few of our clients use our postfix server for relaying. Generally, its
working really well, but several users are reporting regular "451
Temporary Lookup Failure" bounce errors. This is them sending "outgoing"
(ie non-local domains) and domains that Postfix should be relaying for,
in its other role as a fallback mx server.

We use mysql to store local mailboxes, domains, etc but these are
effectively "external" addresses. I can see anything in the logs that
tells me anything other than the 451 error.

Postfix sends the root user an email like this:

------------
To: Postmaster <postmas...@server3300lx.digital-ink.co.uk>
Subject: Postfix SMTP server: errors from unknown[x.x.x.x]

Transcript of session follows.

 Out: 220 server3300lx.digital-ink.co.uk ESMTP Server - Relaying
Prohibited
 In:  HELO sendingserver.com
 Out: 250 server3300lx.digital-ink.co.uk
 In:  NOOP
 Out: 250 Ok
 In:  NOOP
 Out: 250 Ok
 In:  MAIL FROM: <send...@sending.com>
 Out: 250 Ok
 In:  RCPT TO: <u...@a_domain_postfix_is_fallback_for.com>
 Out: 451 <u...@a_domain_postfix_is_fallback_for.com>: Temporary lookup
failure

Session aborted, reason: lost connection
-------------

I have tried various command line tests, but never got a 451. It doesn't
appear to be consistently replicatable. Is this something to do with a
mysql select statement timing out? Can I increase the lookup timeout -
if there such a thing?

There are obviously a lot of configuration files involved here. But I
can't find anything to do with 451 errors.

This is the relavent sections (I hope!) from main.cf

main.cf
-------

.
.
.
virtual_mailbox_domains =
mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_minimum_uid = 150
virtual_uid_maps = static:150
virtual_gid_maps = static:12
.
.
.
## relay section
smtpd_recipient_restrictions =
        reject_invalid_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination,
        reject_rbl_client cbl.abuseat.org,
        reject_rbl_client list.dsbl.org,
        reject_rbl_client sbl.spamhaus.org,
        reject_rbl_client pbl.spamhaus.org
        permit


master.cf
---------
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
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
old-cyrus unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m
${extension} ${user}
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/usr/lib/cyrus-imapd/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



smtpd.conf
----------
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
log_level: 5

Anyhelp gratefully appreciated.

Jon Harris

Reply via email to