o
    {V
hu                     @   s   d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
Z
d dlmZ e  e	 Ze
ddZe
d	d
Ze
ddZe
ddZe
ddZedddededeeee f dee dee f
ddZdS )    N)MIMEText)MIMEMultipart)ListUnion)	APIRouter)load_dotenvSMTP_SERVERzsmtp.google.com	SMTP_PORTi  SMTP_USERNAMEznanda@movex.aiSMTP_PASSWORDzsljf ppbd orvc bkss
FROM_EMAILzthought@movex.aiz/send_email/subjectbodyto_email	cc_emails
bcc_emailsc           
   
   C   s  t  }| |d< t|d< t|tr|g}d||d< |r#d||d< t|d}|| ||p1g  |p5g  }tdtdt	 z0t
tt	}|  |tt |t||  W d	   n1 scw   Y  td
 W d	S  ty }	 ztd|	  W Y d	}	~	d	S d	}	~	ww )a  
    Sends an email using the given SMTP configurations.

    Args:
    - subject (str): Subject of the email.
    - body (str): Body content of the email, in HTML format.
    - to_email (Union[str, List[str]]): Recipient email address or addresses.
    - cc_emails (List[str], optional): List of CC email addresses.
    - bcc_emails (List[str], optional): List of BCC email addresses.

    Returns:
    None
    SubjectFromz, ToCchtmlz SMTP, PORTNzEmail sent successfully.zFailed to send email: )r   r   
isinstancestrjoinr   attachprintr   r	   smtplibSMTPstarttlsloginr
   r   sendmail	as_string	Exception)
r   r   r   r   r   msgpart
recipientsservere r)   :/var/www/html/moveengine/app/v1/integrations/SMTPmailer.py
send_email   s.   


r+   )NN)r   email.mime.textr   email.mime.multipartr   typingr   r   fastapir   osdotenvr   routergetenvr   r	   r
   r   r   postr   r+   r)   r)   r)   r*   <module>   s     :