SF bug #461073: mailbox __iter__ bug, by Andrew Dalke.

Andrew quite correctly notices that the next() method isn't quite what
we need, since it returns None upon end instead of raising
StopIteration.  His fix is easy enough, using iter(self.next, None)
instead.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 98e61f2..b1c082d 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -15,7 +15,7 @@
         self.factory = factory
 
     def __iter__(self):
-        return self
+        return iter(self.next, None)
 
     def next(self):
         while 1:
@@ -195,7 +195,7 @@
         self.factory = factory
 
     def __iter__(self):
-        return self
+        return iter(self.next, None)
 
     def next(self):
         if not self.boxes:
@@ -226,7 +226,7 @@
         self.boxes = boxes
 
     def __iter__(self):
-        return self
+        return iter(self.next, None)
 
     def next(self):
         if not self.boxes: