class_docstr: Class for handling gmail notifications
      
docstr: Initialize GmailNotifier class
  
  Args:
      username (str): Username of the gmail account to use for sending message.
      password (str): Password of the gmail account to use for sending message.
      destination_addresses (list): A list of email addresses to notify.
docstr_tok: ["Initialize","GmailNotifier","class","Args",":","username","(","str",")",":","Username","of","the","gmail","account","to","use","for","sending","message",".","password","(","str",")",":","Password","of","the","gmail","account","to","use","for","sending","message",".","destination_addresses","(","list",")",":","A","list","of","email","addresses","to","notify","."]
code: def __init__(self, username, password, destination_addresses):
      """Initialize GmailNotifier class
  
      Args:
          username (str): Username of the gmail account to use for sending message.
          password (str): Password of the gmail account to use for sending message.
          destination_addresses (list): A list of email addresses to notify.
      """
  
      self.logger = structlog.get_logger()
      self.smtp_server = "smtp.gmail.com:587"
      self.username = username
      self.password = password
      self.destination_addresses = ",".join(destination_addresses)
  
file_path: Crypto-Signal/app/notifiers/gmail_client.py
imports: import smtplib
  import structlog
  from tenacity import retry, retry_if_exception_type, stop_after_attempt
  from notifiers.utils import NotifierUtils
label_desc: Use image node_id 1 to create a new GmailNotifier object from inherited base classes: NotifierUtils with example: obj = GmailNotifier(username, password, destination_addresses)