Add MessageDefect and subclasses.
diff --git a/Lib/email/Errors.py b/Lib/email/Errors.py
index 93485de..e233219 100644
--- a/Lib/email/Errors.py
+++ b/Lib/email/Errors.py
@@ -1,8 +1,7 @@
-# Copyright (C) 2001,2002 Python Software Foundation
-# Author: barry@zope.com (Barry Warsaw)
+# Copyright (C) 2001-2004 Python Software Foundation
+# Author: barry@python.org (Barry Warsaw)
 
-"""email package exception classes.
-"""
+"""email package exception classes."""
 
 
 
@@ -24,3 +23,27 @@
 
 class MultipartConversionError(MessageError, TypeError):
     """Conversion to a multipart is prohibited."""
+
+
+
+# These are parsing defects which the parser was able to work around.
+class MessageDefect:
+    """Base class for a message defect."""
+
+    def __init__(self, line=None):
+        self.line = line
+
+class NoBoundaryInMultipart(MessageDefect):
+    """A message claimed to be a multipart but had no boundary parameter."""
+
+class StartBoundaryNotFound(MessageDefect):
+    """The claimed start boundary was never found."""
+
+class FirstHeaderLineIsContinuation(MessageDefect):
+    """A message had a continuation line as its first header line."""
+
+class MisplacedEnvelopeHeader(MessageDefect):
+    """A 'Unix-from' header was found in the middle of a header block."""
+
+class MalformedHeader(MessageDefect):
+    """Found a header that was missing a colon, or was otherwise malformed"""