code: def _structure(msg, fp=None, level=0, include_default=False):
      
      if fp is None:
          fp = sys.stdout
      tab = ' ' * (level * 4)
      print(tab + msg.get_content_type(), end='', file=fp)
      if include_default:
          print(' [%s]' % msg.get_default_type(), file=fp)
      else:
          print(file=fp)
      if msg.is_multipart():
          for subpart in msg.get_payload():
              _structure(subpart, fp, level+1, include_default)
docs: A handy debugging aid