CC: | michael.stevens [...] dianomi.com,michael.smith [...] dianomi.com |
Subject: | Another user unknown case |
Another user unknown patch.
In gitorious:
http://gitorious.org/mail-deliverystatus-bounceparser-fork/mail-
deliverystatus-bounceparser-
fork/commit/18a81e5bf9410bfc46f2055f6753941ed1abd557
Also see attached patch if you like that format.
Subject: | nomailbox.patch.txt |
From 18a81e5bf9410bfc46f2055f6753941ed1abd557 Mon Sep 17 00:00:00 2001
From: Michael Stevens <mstevens@etla.org>
Date: Wed, 8 Dec 2010 17:43:18 +0000
Subject: [PATCH] Add another user unknown case.
---
MANIFEST | 1 +
lib/Mail/DeliveryStatus/BounceParser.pm | 3 +-
t/corpus/nomailbox.msg | 99 +++++++++++++++++++++++++++++++
t/various-unknown.t | 6 ++-
4 files changed, 107 insertions(+), 2 deletions(-)
create mode 100644 t/corpus/nomailbox.msg
diff --git a/MANIFEST b/MANIFEST
index 94c6310..4317da2 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -42,6 +42,7 @@ t/corpus/message-too-large.msg
t/corpus/misidentified-recipient.msg
t/corpus/msn-via-sendmail.unknown.msg
t/corpus/no-such-domain.msg
+t/corpus/nomailbox.msg
t/corpus/non-autoreply.msg
t/corpus/not-a-relay.msg
t/corpus/novell-with-rhs.msg
diff --git a/lib/Mail/DeliveryStatus/BounceParser.pm b/lib/Mail/DeliveryStatus/BounceParser.pm
index 78a24de..8da8394 100644
--- a/lib/Mail/DeliveryStatus/BounceParser.pm
+++ b/lib/Mail/DeliveryStatus/BounceParser.pm
@@ -979,7 +979,8 @@ sub _std_reason {
/No\s+mailbox\s+found/i or
/<?$EMAIL_ADDR_REGEX>?\s+is\s+a\s+deactivated\s+mailbox/i or
/Recipient\s+does\s+not\s+exist\s+on\s+this\s+system/i or
- /user\s+mail-box\s+not\s+found/i
+ /user\s+mail-box\s+not\s+found/i or
+ /No\s+mail\s+box\s+available\s+for\s+this\s+user/i
) {
return "user_unknown";
}
diff --git a/t/corpus/nomailbox.msg b/t/corpus/nomailbox.msg
new file mode 100644
index 0000000..bec7a0d
--- /dev/null
+++ b/t/corpus/nomailbox.msg
@@ -0,0 +1,99 @@
+Delivered-To: automated-bounces+080464d6-02de-11e0-98ea-ac850225d636@email.dianomi.com
+Received: by 10.216.139.130 with SMTP id c2cs22342wej;
+ Wed, 8 Dec 2010 07:15:48 -0800 (PST)
+Received: by 10.227.157.85 with SMTP id a21mr307252wbx.99.1291821347698;
+ Wed, 08 Dec 2010 07:15:47 -0800 (PST)
+Return-Path: <>
+Received: from server4.example2.com (server4.example2.com [94.236.45.212])
+ by mx.google.com with ESMTP id n10si1042758weq.18.2010.12.08.07.15.47;
+ Wed, 08 Dec 2010 07:15:47 -0800 (PST)
+Received-SPF: pass (google.com: best guess record for domain of server4.example2.com designates 94.236.45.212 as permitted sender) client-ip=94.236.45.212;
+Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of server4.example2.com designates 94.236.45.212 as permitted sender) smtp.mail=
+Received: by server4.example2.com (Postfix)
+ id 7191B16581EA; Wed, 8 Dec 2010 15:15:47 +0000 (GMT)
+Date: Wed, 8 Dec 2010 15:15:47 +0000 (GMT)
+From: MAILER-DAEMON@server4.example2.com (Mail Delivery System)
+Subject: Undelivered Mail Returned to Sender
+To: automated-bounces+080464D6-02DE-11E0-98EA-AC850225D636@email.dianomi.com
+Auto-Submitted: auto-replied
+MIME-Version: 1.0
+Content-Type: multipart/report; report-type=delivery-status;
+ boundary="4542C16581E3.1291821347/server4.example2.com"
+Content-Transfer-Encoding: 8bit
+Message-Id: <20101208151547.7191B16581EA@server4.example2.com>
+
+This is a MIME-encapsulated message.
+
+--4542C16581E3.1291821347/server4.example2.com
+Content-Description: Notification
+Content-Type: text/plain; charset=us-ascii
+
+This is the mail system at host server4.example2.com.
+
+I'm sorry to have to inform you that your message could not
+be delivered to one or more recipients. It's attached below.
+
+For further assistance, please send mail to <postmaster>
+
+If you do so, please include this problem report. You can
+delete your own text from the attached returned message.
+
+ The mail system
+
+<recipient@example.net>: host bham-mx2.example.com[147.188.128.219] said: 550 ** No
+ mail box available for this user ** (in reply to RCPT TO command)
+
+--4542C16581E3.1291821347/server4.example2.com
+Content-Description: Delivery report
+Content-Type: message/delivery-status
+
+Reporting-MTA: dns; server4.example2.com
+X-Postfix-Queue-ID: 4542C16581E3
+X-Postfix-Sender: rfc822; automated-bounces+080464D6-02DE-11E0-98EA-AC850225D636@email.dianomi.com
+Arrival-Date: Wed, 8 Dec 2010 15:15:46 +0000 (GMT)
+
+Final-Recipient: rfc822; recipient@example.net
+Action: failed
+Status: 5.0.0
+Remote-MTA: dns; bham-mx2.example.com
+Diagnostic-Code: smtp; 550 ** No mail box available for this user **
+
+--4542C16581E3.1291821347/server4.example2.com
+Content-Description: Undelivered Message
+Content-Type: message/rfc822
+Content-Transfer-Encoding: 8bit
+
+Received: by server4.example2.com (Postfix, from userid 505)
+ id 4542C16581E3; Wed, 8 Dec 2010 15:15:46 +0000 (GMT)
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Type: multipart/alternative; boundary="_----------=_129182134616116312"
+X-Mailer: MIME::Lite 3.027 (F2.77; T1.28; A2.04; B3.08; Q3.08)
+Date: Wed, 8 Dec 2010 15:15:46 +0000
+From: Fred Bloggs <fred.bloggs@email.dianomi.com>
+Subject: foo
+X-Campaignid: dianomi20101008.1
+List-Unsubscribe: <http://www.dianomioffers.co.uk/unsubscribe.epl?uuid=080464D6-02DE-11E0-98EA-AC850225D636>
+To: John Smith <recipient@example.net>
+Message-Id: <20101208151546.4542C16581E3@server4.example2.com>
+
+This is a multi-part message in MIME format.
+
+--_----------=_129182134616116312
+Content-Disposition: inline
+Content-Transfer-Encoding: 8bit
+Content-Type: text/plain
+
+Text goes here.
+
+--_----------=_129182134616116312
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/html
+
+HTML goes here.
+
+--_----------=_129182134616116312--
+
+
+--4542C16581E3.1291821347/server4.example2.com--
diff --git a/t/various-unknown.t b/t/various-unknown.t
index 241a45e..8ae4b41 100644
--- a/t/various-unknown.t
+++ b/t/various-unknown.t
@@ -1,7 +1,7 @@
#!perl -wT
use strict;
-use Test::More tests => 138;
+use Test::More tests => 144;
use Mail::DeliveryStatus::BounceParser;
@@ -139,6 +139,10 @@ This is a permanent error; I've given up. Sorry it didn't work out.",
"reason" => "553 sorry, badrcptto(user mail-box not found) (#5.7.1)",
"smtp_code" => "553",
},
+ "nomailbox.msg" => {
+ "reason" => "550 ** No mail box available for this user **",
+ "smtp_code" => "550",
+ }
);
foreach my $file (keys %files_and_responses) {
--
1.6.1