code: def send(self, to, cc, subject, body, atts=None, delete=False):
          
          email_cnt = MIMEMultipart()
          email_cnt['From'] = Header(self.smtp_user, CHARSET_ENCODING)
          email_cnt['To'] = Header(';'.join(to), CHARSET_ENCODING)
          email_cnt['Cc'] = Header(';'.join(cc), CHARSET_ENCODING)
          email_cnt['Subject'] = Header(subject, CHARSET_ENCODING)
          email_cnt['Date'] = formatdate()
          email_cnt.attach(MIMEText(body, 'html', CHARSET_ENCODING))
  
          self.__add_att__(email_cnt, atts, delete)
  
          try:
              self.__login__()
              self.smtp_conn.sendmail(self.smtp_user, to+cc, email_cnt.as_string())
  
              with_att_msg = 'Empty'
              if atts:
                  for i, att in enumerate(atts):
                      atts[i] = att[att.startswith('/')+1:]
  
                  with_att_msg = ','.join(atts)
                  '''Flush memory
                  '''
                  atts[:] = []
  
              logger.info('Send email[%s] success.', subject)
              logger.info('To users: %s.', ','.join(to+cc))
              logger.info('With attachments: %s.', with_att_msg)
          except Exception as e:
              raise SendEmailException("Send email[%s] failed!!! Case: %s" % (subject, str(e)))
docs: Send an email action.
  
          :param to: receivers list
          :param cc: copy user list
          :param subject: email title
          :param body: email content body
          :param atts: email attachments
          :param delete: whether delete att
          :return: True or False