_dispatch(): Use get_content_maintype() and get_content_subtype() to
get the MIME main and sub types, instead of getting the whole ctype
and splitting it here. The two more specific methods now correctly
implement RFC 2045, section 5.2.
diff --git a/Lib/email/Generator.py b/Lib/email/Generator.py
index a8e2cfe..8ce3807 100644
--- a/Lib/email/Generator.py
+++ b/Lib/email/Generator.py
@@ -123,9 +123,8 @@
# self._handle_<maintype>_<subtype>(). If there's no handler for the
# full MIME type, then dispatch to self._handle_<maintype>(). If
# that's missing too, then dispatch to self._writeBody().
- ctype = msg.get_content_type()
- # We do have a Content-Type: header.
- main, sub = ctype.split('/')
+ main = msg.get_content_maintype()
+ sub = msg.get_content_subtype()
specific = UNDERSCORE.join((main, sub)).replace('-', '_')
meth = getattr(self, '_handle_' + specific, None)
if meth is None: