              self.to = list(to)
          else:
              self.to = []
          if cc:
              if isinstance(cc, six.string_types):
                  raise TypeError('"cc" argument must be a list or tuple')
              self.cc = list(cc)
          else:
              self.cc = []
          if bcc:
 
</s> remove             if isinstance(bcc, six.string_types):
 </s> add             if isinstance(bcc, str): </s> remove             if isinstance(to, six.string_types):
 </s> add             if isinstance(to, str): </s> remove             if isinstance(reply_to, six.string_types):
 </s> add             if isinstance(reply_to, str): </s> remove         if isinstance(self.remote_field.model, six.string_types):
 </s> add         if isinstance(self.remote_field.model, str): </s> remove             if isinstance(r, six.string_types):
 </s> add             if isinstance(r, str):
            if isinstance(cc, str):
              self.to = list(to)
          else:
              self.to = []
          if cc:
            if isinstance(cc, str):
                  raise TypeError('"cc" argument must be a list or tuple')
              self.cc = list(cc)
          else:
              self.cc = []
          if bcc:
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/core/mail/message.py