code: def parse_mailto(mailto_str):
      
      if mailto_str.startswith('mailto:'):
          import urllib.parse
          to_str, parms_str = mailto_str[7:].partition('?')[::2]
          headers = {}
          body = u''
  
          to = urllib.parse.unquote(to_str)
          if to:
              headers['To'] = [to]
  
          for s in parms_str.split('&'):
              key, value = s.partition('=')[::2]
              key = key.capitalize()
              if key == 'Body':
                  body = urllib.parse.unquote(value)
              elif value:
                  headers[key] = [urllib.parse.unquote(value)]
          return (headers, body)
      else:
          return (None, None)
docs: Interpret mailto-string
  
      :param mailto_str: the string to interpret. Must conform to :rfc:2368.
      :type mailto_str: str
      :return: the header fields and the body found in the mailto link as a tuple
          of length two
      :rtype: tuple(dict(str->list(str)), str)