19"""Shared mailman errors and messages."""
70MODERATED_LIST_MSG =
"Moderated list"
71IMPLICIT_DEST_MSG =
"Implicit destination"
72SUSPICIOUS_HEADER_MSG =
"Suspicious header"
73FORBIDDEN_SENDER_MSG =
"Forbidden sender"
81 """Base class for all Mailman exceptions."""
85class MMLoopingPost(MailmanError):
86 """Post already went through this list!"""
93 """Base class for email address validation errors."""
97 """Email address is invalid (empty string or not fully qualified)."""
101 """Email address has potentially hostile characters in it."""
107 """Held message was lost."""
117 """Base class for all handler errors."""
119class HoldMessage(HandlerError):
120 """Base class for all message-being-held short circuits."""
123 reason =
_(
'For some unknown reason')
129 rejection =
_(
'Your message was rejected')
135 """The message can be discarded with no further action"""
137class SomeRecipientsFailed(HandlerError):
138 """Delivery to some or all recipients failed"""
140 HandlerError.__init__(self)
146 """We've seen this message before"""
148class RejectMessage(HandlerError):
149 """The message will be bounced back to the sender"""
152 notice =
_(
'Your message was rejected')
153 if notice.endswith(
'\n\n'):
155 elif notice.endswith(
'\n'):
167 """A cross-subscription attempt was made."""
def rejection_notice(self, mlist)
def __init__(self, message=None)
def __init__(self, message=None)
def __init__(self, notice=None)
def __init__(self, tempfailures, permfailures)