Uncaught bounce from Dovecot when Quota Exceeded

Bug #693134 reported by JorSol
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Fix Released
Low
Mark Sapiro
flufl.bounce
Fix Released
Low
Mark Sapiro

Bug Description

I have a Debian 5 (Lenny) server with Postfix - Dovecot and Mailman 2.1.11 and 1700+ users.

The problem is when Dovecot returns the bounce message about "Quota exceeded", Mailman don't recognize the format:

Your message to <email address hidden> was automatically rejected:
Quota exceeded

It's suposed that Mailman recognize this type of message using the VERP feature, I have "recipient_delimiter = +" in Postfix but Mailman don't detect message coming from Dovecot.

/var/log/mailman/bounce:
Dec 21 10:58:08 2010 (3214) listnews: bounce message w/no discernable addresses: <dovecot-1292944464-47721-0@mail>
Dec 21 10:58:08 2010 (3214) listnews: forwarding unrecognized, message-id: <dovecot-1292944464-47721-0@mail>

Related branches

JorSol (jorsol)
description: updated
Revision history for this message
Mark Sapiro (msapiro) wrote :

VERP must be enabled in Mailman. Putting

VERP_DELIVERY_INTERVAL = 1

in mm_cfg.py will enable Mailman's VERP for all messages.

If you attach a copy of the raw bounce message from Dovecot to this report, I will try to update the heuristic recognizers to recognize it. You can obfuscate any personal information such as email addresses or domain names.

Note that if Dovecot sends an RFC 1894/RFC 3464 compliant DSN, it should be recognized.

Changed in mailman:
assignee: nobody → Mark Sapiro (msapiro)
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
JorSol (jorsol) wrote :

Attach raw message....

I added "VERP_DELIVERY_INTERVAL = 1" to mm_cfg.py.... when I try it I will post the results.

Thanks for you quick response.

Revision history for this message
Mark Sapiro (msapiro) wrote :

The underlying issue is that the bounce from the Dovecot LDA is not an RFC 3464 Delivery Status Notification, but rather is an RFC 3798 Message Disposition Notification and Mailman doesn't currently recognize these.

I have worked around this for the moment by adding the "Your message to <email address hidden> was automatically rejected:" line to the simple text matcher, but the proper fix is to add recognition for RFC 3798 Message Disposition Notifications to Mailman.

Changed in mailman:
milestone: none → 2.1.15
status: Incomplete → In Progress
Revision history for this message
Mark Sapiro (msapiro) wrote :

I have thought about this some more and looked more carefully at RFC 3798, and I don't think RFC 3798 MDNs should be considered bounces. The first paragraph of the Abstract of RFC 3798 says:

   This memo defines a MIME content-type that may be used by a mail user
   agent (MUA) or electronic mail gateway to report the disposition of a
   message after it has been successfully delivered to a recipient.
   This content-type is intended to be machine-processable. Additional
   message headers are also defined to permit Message Disposition
   Notifications (MDNs) to be requested by the sender of a message. The
   purpose is to extend Internet Mail to support functionality often
   found in other messaging systems, such as X.400 and the proprietary
   "LAN-based" systems, and often referred to as "read receipts,"
   "acknowledgements", or "receipt notifications." The intention is to
   do this while respecting privacy concerns, which have often been
   expressed when such functions have been discussed in the past.

The key point is that the purpose of an MDN is for an MUA to report the disposition of a message after it has been successfully delivered to a recipient. Thus, it's use by the Dovecot LDA to report non-delivery due to over quota or other reasons seems incorrect, and Dovecot should be sending a DSN with a 'failed' action for the recipient rather than an MDN with a 'deleted' disposition which is intended to report that the message was deleted by the recipient after successful delivery and which should not in general be interpreted as a bounce.

Thus, I think Dovecot's behavior is incorrect, and the best we can do in Mailman is to recognize the "Your message to <email address hidden> was automatically rejected:" line in the simple text matcher as a work around.

Revision history for this message
JorSol (jorsol) wrote :

Then is a Dovecot bug, the problem is that the version in Debian Lenny is 1.0.15 and the lastest stable is 2.0.8 (1.2.16 in the 1.x brach) so is hard to know if it's already fixed in the lastest versions.

I tested the "VERP_DELIVERY_INTERVAL = 1".... It works, but I don't like the results since it sends one message per recipient and the Postfix queque gets saturated and the whole system is slow down and I'm not able to throttle or assign a lower priority to Mailman.

I'm going to check out the simple text matcher as work around.

Revision history for this message
Mark Sapiro (msapiro) wrote :

The patch to Mailman/Bouncers/SimpleMatch.py is at <http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1269?start_revid=1269>.

I reported this issue to the Dovecot mailing list at <http://dovecot.org/pipermail/dovecot/2010-December/055920.html>, but no response so far.

Changed in mailman:
status: In Progress → Fix Committed
Revision history for this message
Mark Sapiro (msapiro) wrote :

Note that it is possible to do the VERPing in Postfix rather than in Mailman. See the patch at <https://bugs.launchpad.net/mailman/+bug/558067>.

Mark Sapiro (msapiro)
Changed in mailman:
status: Fix Committed → Fix Released
Mark Sapiro (msapiro)
Changed in flufl.bounce:
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Mark Sapiro (msapiro)
Mark Sapiro (msapiro)
Changed in flufl.bounce:
status: In Progress → Fix Committed
milestone: none → 2.2
Barry Warsaw (barry)
Changed in flufl.bounce:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.