summaryrefslogtreecommitdiff
path: root/src/mailman/app/docs
diff options
context:
space:
mode:
authorBarry Warsaw2010-09-23 09:37:32 -0400
committerBarry Warsaw2010-09-23 09:37:32 -0400
commitb76fe2e8c8ecb95cf27ddefc44467f2e2468f951 (patch)
tree50fd97b4fb3d2b990b14c5097820a1e481548673 /src/mailman/app/docs
parente5c8746854965e8a834fce9276a6a25856800b20 (diff)
downloadmailman-b76fe2e8c8ecb95cf27ddefc44467f2e2468f951.tar.gz
mailman-b76fe2e8c8ecb95cf27ddefc44467f2e2468f951.tar.zst
mailman-b76fe2e8c8ecb95cf27ddefc44467f2e2468f951.zip
Fix typo in scan_message(). (LP: #645897)
Diffstat (limited to 'src/mailman/app/docs')
-rw-r--r--src/mailman/app/docs/bounces.txt39
1 files changed, 34 insertions, 5 deletions
diff --git a/src/mailman/app/docs/bounces.txt b/src/mailman/app/docs/bounces.txt
index 3d21ee423..f18569743 100644
--- a/src/mailman/app/docs/bounces.txt
+++ b/src/mailman/app/docs/bounces.txt
@@ -4,15 +4,13 @@ Bounces
An important feature of Mailman is automatic bounce process.
-XXX Many more converted tests go here.
-
Bounces, or message rejection
=============================
-Mailman can also bounce messages back to the original sender. This is
-essentially equivalent to rejecting the message with notification. Mailing
-lists can bounce a message with an optional error message.
+Mailman can bounce messages back to the original sender. This is essentially
+equivalent to rejecting the message with notification. Mailing lists can
+bounce a message with an optional error message.
>>> mlist = create_list('_xtest@example.com')
@@ -101,3 +99,34 @@ passed in as an instance of a ``RejectMessage`` exception.
I sometimes say something important.
<BLANKLINE>
--...--
+
+
+Scanning a message
+==================
+
+When a message hits the ``-bounces`` address for a mailing list, it is scanned
+to see if it we can dig out a set of addresses that have bounced.
+
+ >>> msg = message_from_string("""\
+ ... To: test-bounces@example.com
+ ... From: postmaster@example.org
+ ... Content-Type: multipart/report; report-type=delivery-status;
+ ... boundary="AAA"
+ ...
+ ... --AAA
+ ... Content-Type: message/delivery-status
+ ...
+ ... Action: failed
+ ... Status: 5.0.0 (recipient reached disk quota)
+ ... Original-Recipient: rfc822; aperson@example.net
+ ... Final-Recipient: rfc822; anne.person@example.net
+ ...
+ ... --AAA--
+ ... """)
+
+The DSN bouncer will return the ``Original-Recipient:`` in preference to the
+``Final-Recipient:``.
+
+ >>> from mailman.app.bounces import scan_message
+ >>> print scan_message(mlist, msg)
+ set([u'aperson@example.net'])