code: def clean_address(address):
      
      if isinstance(address, header.Header):
          return clean_address(address.encode('ascii'))
  
      elif isinstance(address, str):
          address = address.replace("<", "")
          address = address.replace(">", "")
          address = address.replace("\"", "")
          address = address.replace("\n", " ")
          address = address.replace("MAILER-DAEMON", "")
          address = address.lower().strip()
  
          email = None
          for word in address.split(' '):
              email_regex = re.compile(
                  "^[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+.[a-zA-Z]{2,6}$"
                  )
              email = re.match(email_regex, word)
              if email is not None:
                  clean_email = email.group(0)
          if email is None:
              if address.split(' ')[-1].find('@') > -1:
                  clean_email = address.split(' ')[-1].strip()
              elif address.split(' ')[-1].find('?') > -1:
                  clean_email = 'n/a'
              else:
                  clean_email = address
  
          return clean_email
  
      elif address is None:
          return None
  
      else:
          raise ValueError('An unexpected type was given to clean_address. Address was {}'.format(address))
          return None
docs: Cleans a single email address.
      :param address: String (email address)
      :return: String (clean email address)