aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Sapiro <mark@msapiro.net>2017-02-14 22:30:03 -0800
committerMark Sapiro <mark@msapiro.net>2017-02-14 22:30:03 -0800
commitc78ea26f8f04cd2e3d2cf231736bcc95ec8cccd5 (patch)
treee6b0a781515c73be43d32a359e635870d90cdcb4
parenta852463283f44357fec29e0bce49f3cc83ed9c2f (diff)
downloadmailman2-c78ea26f8f04cd2e3d2cf231736bcc95ec8cccd5.tar.gz
mailman2-c78ea26f8f04cd2e3d2cf231736bcc95ec8cccd5.tar.xz
mailman2-c78ea26f8f04cd2e3d2cf231736bcc95ec8cccd5.zip
Added recognition for a newly seen mailEnable bounce.
-rw-r--r--Mailman/Bouncers/SimpleMatch.py4
-rw-r--r--NEWS2
-rw-r--r--tests/bounces/simple_41.txt47
-rwxr-xr-xtests/test_bounces.py3
4 files changed, 55 insertions, 1 deletions
diff --git a/Mailman/Bouncers/SimpleMatch.py b/Mailman/Bouncers/SimpleMatch.py
index 2aa082a2..e84d2255 100644
--- a/Mailman/Bouncers/SimpleMatch.py
+++ b/Mailman/Bouncers/SimpleMatch.py
@@ -188,6 +188,10 @@ PATTERNS = [
(_c('A message that you sent was rejected'),
_c('This is a copy of your message'),
_c('\s(?P<addr>[^\s@]+@[^\s@]+)')),
+ # MailEnable
+ (_c('Message could not be delivered to some recipients.'),
+ _c('Message headers follow'),
+ _c('Recipient: \[SMTP:(?P<addr>[^\s@]+@[^\s@]+)\]')),
# Next one goes here...
]
diff --git a/NEWS b/NEWS
index d2992721..dc9c155a 100644
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,8 @@ Here is a history of user visible changes to Mailman.
Bug fixes and other patches
+ - Added recognition for a newly seen mailEnable bounce.
+
- Fixed an uncaught NotAMemberError when a member is removed before a
probe bounce for the member is returned. (LP: #1664729)
diff --git a/tests/bounces/simple_41.txt b/tests/bounces/simple_41.txt
new file mode 100644
index 00000000..60cbe46c
--- /dev/null
+++ b/tests/bounces/simple_41.txt
@@ -0,0 +1,47 @@
+Received: from intercitytime.com (unknown [218.255.171.146])
+ by mail.mailman3.org (Postfix) with ESMTP id 7675880267
+ for <mailman-users-bounces@mailman3.org>; Tue, 14 Feb 2017 09:29:16 +0000 (UTC)
+From: "Delivery Subsystem" <POSTMASTER@intercitytime.com>
+To: <mailman-users-bounces@mailman3.org>
+Subject: Message Delivery Failure
+Date: Tue, 14 Feb 2017 17:29:12 +0800
+Message-ID: <BD6CB5FA118F4A91B33FFF4DEF67E03E.MAI@intercitytime.com>
+X-MEFilter: 1
+Precedence: bulk
+Auto-Submitted: auto-replied
+Message-ID-Hash: QD4JEJZEMX3L2YZ3EPVXIXH2QNFQ5Z7D
+X-Message-ID-Hash: QD4JEJZEMX3L2YZ3EPVXIXH2QNFQ5Z7D
+X-MailFrom: <>
+
+
+MailEnable: Message could not be delivered to some recipients.
+The following recipient(s) could not be reached:
+
+ Recipient: [SMTP:jeff.chan@intercitytime.com]
+ Reason: Remote SMTP Server Returned: 550 Requested action not taken: mailbox unavailable or not local.
+
+
+Message headers follow:
+
+Received: with MailEnable Postoffice Connector; Tue, 14 Feb 2017 17:29:09 +0800
+Received: from mail.mailman3.org ([104.239.228.201]) by intercitytime.com with MailEnable ESMTP; Tue, 14 Feb 2017 17:29:08 +0800
+Received: from mailman.iad1.psf.io (ip6-localhost [127.0.0.1])
+ by mail.mailman3.org (Postfix) with ESMTP id 468CC80267
+ for <free-trial@intercitytime.com>; Tue, 14 Feb 2017 09:29:08 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mailman3.org;
+ s=default; t=1487064548;
+ bh=aulHL7gMEucDw5WDL8d6/+CPIEzXORHWiObo1NS4HuE=;
+ h=Subject:From:To:Date;
+ b=uGQifVlhvVfe2PWe+A8qsiVzSXpFho30W6YE8OEIX5ql3vSxPQURW9rpD/GjVI0sR
+ nt09YhHzwh0Df7NvwNMa6uHIZaGGOMSpWd2irIj+onwOi8di4yoFK4r/JQjBr4PZ7n
+ v/X846uBX3c8rKnAg8h6qTSb6dI5xziORKlgh1B4=
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+Subject: Your message to mailman-users@mailman3.org awaits moderator approval
+From: mailman-users-bounces@mailman3.org
+To: free-trial@intercitytime.com
+Message-ID: <20170214092907.10185.42474@mailman.iad1.psf.io>
+Date: Tue, 14 Feb 2017 09:29:07 +0000
+Precedence: bulk
+X-Mailman-Version: 3.1.0b4
diff --git a/tests/test_bounces.py b/tests/test_bounces.py
index 8c33ccfd..082e9a99 100755
--- a/tests/test_bounces.py
+++ b/tests/test_bounces.py
@@ -80,7 +80,8 @@ class BounceTest(unittest.TestCase):
('SimpleMatch', 'simple_36.txt', ['garyt@xxx.com']),
('SimpleMatch', 'simple_37.txt', ['user@uci.edu']),
('SimpleMatch', 'simple_38.txt', ['prueba@domain.com']),
- ('SimpleMatch', 'simple_39.txt', [b'foo@mail.ru']),
+ ('SimpleMatch', 'simple_39.txt', ['foo@mail.ru']),
+ ('SimpleMatch', 'simple_41.txt', ['jeff.chan@intercitytime.com']),
('SimpleMatch', 'bounce_02.txt', ['acinsp1@midsouth.rr.com']),
('SimpleMatch', 'bounce_03.txt', ['james@jeborall.demon.co.uk']),
# SimpleWarning