code: def __send_smtp_email(self, recipients, subject, html_body, text_body):
          
          smtp = smtplib.SMTP(
              dbconfig.get('smtp_server', NS_EMAIL, 'localhost'),
              dbconfig.get('smtp_port', NS_EMAIL, 25)
          )
          source_arn = dbconfig.get('source_arn', NS_EMAIL)
          return_arn = dbconfig.get('return_path_arn', NS_EMAIL)
          from_arn = dbconfig.get('from_arn', NS_EMAIL)
          msg = MIMEMultipart('alternative')
  
          # Set SES options if needed
          if source_arn and from_arn and return_arn:
              msg['X-SES-SOURCE-ARN'] = source_arn
              msg['X-SES-FROM-ARN'] = from_arn
              msg['X-SES-RETURN-PATH-ARN'] = return_arn
  
          msg['Subject'] = subject
          msg['To'] = ','.join(recipients)
          msg['From'] = self.sender
  
          # Check body types to avoid exceptions
          if html_body:
              html_part = MIMEText(html_body, 'html')
              msg.attach(html_part)
          if text_body:
              text_part = MIMEText(text_body, 'plain')
              msg.attach(text_part)
  
          # TLS if needed
          if dbconfig.get('smtp_tls', NS_EMAIL, False):
              smtp.starttls()
  
          # Login if needed
          username = dbconfig.get('smtp_username', NS_EMAIL)
          password = dbconfig.get('smtp_password', NS_EMAIL)
          if username and password:
              smtp.login(username, password)
  
          smtp.sendmail(self.sender, recipients, msg.as_string())
          smtp.quit()
docs: Send an email using SMTP
  
          Args:
              recipients (`list` of `str`): List of recipient email addresses
              subject (str): Subject of the email
              html_body (str): HTML body of the email
              text_body (str): Text body of the email
  
          Returns:
              `None`