Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage.
2.5.2 bugfix candidate.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 3f7a12a..e3e9cbb 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -315,7 +315,10 @@
         subpath = self._lookup(key)
         f = open(os.path.join(self._path, subpath), 'r')
         try:
-            msg = MaildirMessage(f)
+            if self._factory:
+                msg = self._factory(f)
+            else:
+                msg = MaildirMessage(f)
         finally:
             f.close()
         subdir, name = os.path.split(subpath)