diff options
Diffstat (limited to 'Mailman/Bouncers/SimpleMatch.py')
-rw-r--r-- | Mailman/Bouncers/SimpleMatch.py | 45 |
1 files changed, 42 insertions, 3 deletions
diff --git a/Mailman/Bouncers/SimpleMatch.py b/Mailman/Bouncers/SimpleMatch.py index 12eeffdc..2e9c23b1 100644 --- a/Mailman/Bouncers/SimpleMatch.py +++ b/Mailman/Bouncers/SimpleMatch.py @@ -1,4 +1,4 @@ -# Copyright (C) 1998-2006 by the Free Software Foundation, Inc. +# Copyright (C) 1998-2007 by the Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -87,6 +87,10 @@ PATTERNS = [ (_c('Unable to deliver message to the following address\(es\)\.'), _c('--- Original message follows\.'), _c('<(?P<addr>[^>]*)>:')), + # googlemail.com + (_c('Delivery to the following recipient failed'), + _c('----- Original message -----'), + _c('^\s*(?P<addr>[^\s@]+@[^\s@]+)\s*$')), # kundenserver.de (_c('A message that you sent could not be delivered'), _c('^---'), @@ -97,13 +101,16 @@ PATTERNS = [ _c('^(?P<addr>[^\s@]+@[^\s@:]+):')), # thehartford.com (_c('Delivery to the following recipients failed'), - _c("Bogus - there actually isn't anything"), + # this one may or may not have the original message, but there's nothing + # unique to stop on, so stop on the first line of at least 3 characters + # that doesn't start with 'D' (to not stop immediately) and has no '@'. + _c('^[^D][^@]{2,}$'), _c('^\s*(?P<addr>[^\s@]+@[^\s@]+)\s*$')), # and another thehartfod.com/hartfordlife.com (_c('^Your message\s*$'), _c('^because:'), _c('^\s*(?P<addr>[^\s@]+@[^\s@]+)\s*$')), - # kviv.be (NTMail) + # kviv.be (InterScan NT) (_c('^Unable to deliver message to'), _c(r'\*+\s+End of message\s+\*+'), _c('<(?P<addr>[^>]*)>')), @@ -127,6 +134,38 @@ PATTERNS = [ (_c('A message that you sent could not be delivered'), _c('^---'), _c('(?P<addr>[^\s@]+@[^\s@)]+)')), + # LSMTP for Windows + (_c('^--> Error description:\s*$'), + _c('^Error-End:'), + _c('^Error-for:\s+(?P<addr>[^\s@]+@[^\s@]+)')), + # Qmail with a tri-language intro beginning in spanish + (_c('Your message could not be delivered'), + _c('^-'), + _c('<(?P<addr>[^>]*)>:')), + # socgen.com + (_c('Your message could not be delivered to'), + _c('^\s*$'), + _c('(?P<addr>[^\s@]+@[^\s@]+)')), + # dadoservice.it + (_c('Your message has encountered delivery problems'), + _c('Your message reads'), + _c('addressed to\s*(?P<addr>[^\s@]+@[^\s@)]+)')), + # gomaps.com + (_c('Did not reach the following recipient'), + _c('^\s*$'), + _c('\s(?P<addr>[^\s@]+@[^\s@]+)')), + # EYOU MTA SYSTEM + (_c('This is the deliver program at'), + _c('^-'), + _c('^(?P<addr>[^\s@]+@[^\s@<>]+)')), + # A non-standard qmail at ieo.it + (_c('this is the email server at'), + _c('^-'), + _c('\s(?P<addr>[^\s@]+@[^\s@]+)[\s,]')), + # pla.net.py (MDaemon.PRO ?) + (_c('- no such user here'), + _c('There is no user'), + _c('^(?P<addr>[^\s@]+@[^\s@]+)\s')), # Next one goes here... ] |