Fix for bug #481221, getaddrlist() failing on long addresses.
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index 0019949..9ad2f8f 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -546,10 +546,14 @@
 
         Returns a list containing all of the addresses.
         """
-        ad = self.getaddress()
-        if ad:
-            return ad + self.getaddrlist()
-        else: return []
+        result = []
+        while 1:
+            ad = self.getaddress()
+            if ad:
+                result += ad
+            else:
+                break
+        return result
 
     def getaddress(self):
         """Parse the next address."""