Patch# 1258 by Christian Heimes: kill basestring.
I like this because it makes the code shorter! :-)
diff --git a/Lib/email/feedparser.py b/Lib/email/feedparser.py
index 9ed8e4d..bff17ba 100644
--- a/Lib/email/feedparser.py
+++ b/Lib/email/feedparser.py
@@ -365,7 +365,7 @@
                                 self._last.epilogue = epilogue[:-end]
                     else:
                         payload = self._last.get_payload()
-                        if isinstance(payload, basestring):
+                        if isinstance(payload, str):
                             mo = NLCRE_eol.search(payload)
                             if mo:
                                 payload = payload[:-len(mo.group(0))]
diff --git a/Lib/email/generator.py b/Lib/email/generator.py
index 2d6a191..d46549c 100644
--- a/Lib/email/generator.py
+++ b/Lib/email/generator.py
@@ -151,7 +151,7 @@
         payload = msg.get_payload()
         if payload is None:
             return
-        if not isinstance(payload, basestring):
+        if not isinstance(payload, str):
             raise TypeError('string payload expected: %s' % type(payload))
         if self._mangle_from_:
             payload = fcre.sub('>From ', payload)
@@ -168,7 +168,7 @@
         subparts = msg.get_payload()
         if subparts is None:
             subparts = []
-        elif isinstance(subparts, basestring):
+        elif isinstance(subparts, str):
             # e.g. a non-strict parse of a message with no starting boundary.
             self._fp.write(subparts)
             return
@@ -288,7 +288,7 @@
         for part in msg.walk():
             maintype = part.get_content_maintype()
             if maintype == 'text':
-                print(part.get_payload(decode=True), file=self)
+                print(part.get_payload(decode=False), file=self)
             elif maintype == 'multipart':
                 # Just skip this
                 pass
diff --git a/Lib/email/iterators.py b/Lib/email/iterators.py
index e4476e3..3adc4a0 100644
--- a/Lib/email/iterators.py
+++ b/Lib/email/iterators.py
@@ -39,7 +39,7 @@
     """
     for subpart in msg.walk():
         payload = subpart.get_payload(decode=decode)
-        if isinstance(payload, basestring):
+        if isinstance(payload, str):
             for line in StringIO(payload):
                 yield line