Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

smtpd_proxy_filter timeouts before main smtpd

412 views
Skip to first unread message

noinfo

unread,
May 23, 2011, 7:21:09 PM5/23/11
to
I am using spampd as before-queue filter, and from time to time I see
this error:

Out: 451 4.3.0 Error: queue file write error

I found a lot of posts on the web asking about this problem over the
years without an answer.

Now I found out what actually happens: when it takes main smtpd
process more than smtpd_timeout (default: 300s) to receive all DATA,
filter smtpd process will timeout and close connection, even though in
the meantime main smtpd process continues to receive DATA. When main
smtpd process finishes receiving all DATA and tries to deliver it to
filter smtpd process, connection to filter is already closed and we
get this:

Out: 451 4.3.0 Error: queue file write error

I know I can increase smtpd_timeout on filter process to some
arbitrarily large value to fix this problem. But is there a better way
to do this? Is there a way to tell main process to deliver DATA in
chunks, instead of accumulating it all before passing to filter
process?

noinfo

unread,
May 25, 2011, 11:57:37 AM5/25/11
to
I think I found another way to fix this problem:

smtpd_proxy_options=speed_adjust

When this option is used on main smtpd process, postfix will receive
complete message before it will invoke filter, so filter will not
timeout on long messages. The only thing I worry about, postfix
documentation says with this option content filter must not
selectively reject recipients of a multi-recipient message. Does
anyone know if it is safe to use this option with spampd filter?

0 new messages