code: def as_msg(self):
          
          # Based upon http://docs.python.org/2/library/email-examples.html
          # with minimal tweaking
  
          # Guess the content type based on the file's extension.  Encoding
          # will be ignored, although we should check for simple things like
          # gzip'd or compressed files.
          ctype, encoding = mimetypes.guess_type(str(self.path))
          if ctype is None or encoding is not None:
              # No guess could be made, or the file is encoded (compressed), so
              # use a generic bag-of-bits type.
              ctype = 'application/octet-stream'
          maintype, subtype = ctype.split('/', 1)
          if maintype == 'text':
              # Note: we should handle calculating the charset
              msg = MIMEText(self.path.read(), _subtype=subtype)
          elif maintype == 'image':
              fp = self.path.open('rb')
              msg = MIMEImage(fp.read(), _subtype=subtype)
              fp.close()
          elif maintype == 'audio':
              fp = self.path.open('rb')
              msg = MIMEAudio(fp.read(), _subtype=subtype)
              fp.close()
          else:
              fp = self.path.open('rb')
              msg = MIMEBase(maintype, subtype)
              msg.set_payload(fp.read())
              fp.close()
              # Encode the payload using Base64
              encoders.encode_base64(msg)
  
          filename = str(self.path[-1])
          msg.add_header('Content-Disposition', 'attachment', filename=filename)
          return msg
docs: Convert ourself to be a message part of the appropriate
          MIME type.
  
          Return: MIMEBase
          Exceptions: None