On Fri, Feb 14, 2020 at 8:51 AM Aris Merchant via agora-discussion
<agora-discussion@agoranomic.org> wrote:
> H. Distributor, or anyone else really, do you know what to make of
> this? The original message went to the list and shows in the archive.

Huh.

TL;DR: You can safely ignore the bounce; sorry for the spam; it
shouldn't happen again.

So, in late December, I was trying to track down which messages had
been delivered and which hadn't, and I was frustrated that qmail's
logs only identified messages using arbitrary (and frequently-reused!)
identifiers, and in particular didn't include Message-IDs.  To address
this for the future, I added a hacky workaround based on a suggestion
[1] I found by Googling.  Basically, qmail is configured to 'forward'
all incoming and outgoing mail to l...@vps.qoid.us, which is an alias
for a command that simply prints the Message-ID to stdout (and
otherwise discards the forwarded copy).  The printed Message-ID should
then end up in qmail's log file.

Apparently it was a bad suggestion, because for some reason the
command occasionally fails with the "broken pipe" error.  But only
occasionally!  Most of the time it works as expected.  I have no idea
what makes the difference.  The forwarded copy is treated like any
other message, so qmail will keep trying to 'deliver' it, but if the
same copy fails enough times it'll result in a bounce.

Based on logs, the issue appears to have only affected the copy of the
message forwarded to the log alias; the original, 'real' delivery
still worked as usual.  So it was harmless, other than causing
Message-IDs to not be logged when they should be, and generating
annoying bounce messages.

Now... last weekend I said that I had switched from qmail to Haraka
for incoming and outgoing mail.  (In fact, the Message-ID issue was
one of the papercuts that spurred me to make the switch.)  However,
qmail isn't actually completely gone yet.  For now I have Haraka
configured to use the built-in queue/qmail-queue plugin, which means
that after Haraka's SMTP server receives a message for a 'local user'
(such as agora-discussion@agoranomic.org), it invokes qmail to
actually deliver it.  Normally, qmail will in turn just pipe the
message to the Mailman binary, so it would be nice to cut out the
middleman – but I don't think Haraka has a built-in option to pipe
messages to arbitrary commands, and I'm planning to upgrade to Mailman
3 eventually anyway (which receives incoming mail using LMTP rather
than a command).  As it is, the qmail daemons are still running
(except smtpd), which means they can still send bounces, and generate
new ones.

However, Haraka has its own logs (which include the Message-ID
natively), so at this point I don't care much about qmail's logs.
Although I'm curious about the root cause of the "broken pipe" error,
I've worked around the issue by pointing the log alias to "|cat
>/dev/null" instead.  Hopefully that eliminates the bounces.  Please
let me know if you get any more.

[1] http://www.lifewithqmail.org/lwq.html#queue_extra

Reply via email to