Disregard, I've obviously chosen a bad example - optimistic caching until address_verify_positive_expire_time means the behavior was correct in this case.

I did know that the exmployee in question hadn't been with the company for months now and seemed to remember that they had disabled his e-mail address months ago, but apparently this has happened only on Nov 22th.

I did have another case of such behavior with an address that has indeed been invalid for a long time, and this correctly rejects now too, so there seemed to be some form of corruption that is now fixed.

- Patrick


On 11.12.2016 10:48, Wagner, Patrick wrote:
On 10.12.2016 22:12, Wietse Venema wrote:
So there are two possible explanations:

1) Your SMTP server was recently under overload (look for "STRESS"
in the maillog file). To avoid accepting unverified mail under
overload, remove the "unverified_recipient_defer_code = 250" setting.

2) Your address_verify_map database is corrupted. Remove the .db
file, and execute "postfix reload".

    Wietse
According to the log files the server wasn't in STRESS mode at this point in time (about an hour before, it had entered and left STRESS mode within 6 seconds), so this leaves a corrupted verify_cache.db.

I've removed the database, reloaded postfix, and a test mail to this non-existent address has correctly detected and honored the undeliverable status and I got the NOQUEUE: reject line that I expected.

Apparently the probe couldn't update the address status to "undeliverable" result in the DB - the address in question was actually perfectly valid until November 22th, so still within address_verify_positive_expire_time = 31d , but not address_verify_positive_refresh_time = 7d, which is why postfix kicked off the probe every time someone tried to send a mail to this recipient.

There's no way to monitor for this kind of corruption then, as I've got no messages in my log telling me that the verify service was unable to update certain database entries?

- Patrick



Reply via email to