o
    Uh                     @   sp   d dl mZmZ d dlmZ d dlZd dlmZ d dlmZ dZ	de
de
fd	d
Zde
de
de
defddZdS )    )FastMailMessageSchema)confN)EmailMessage)settings
   emailotpc                    s>   t d| gd| dt ddd}tt}||I dH  dS )zSends OTP via email.zPassword Reset OTPz Your OTP for password reset is: z. It is valid for z	 minutes.plain)subject
recipientsbodysubtypeN)r   RESET_OTP_EXPIRE_MINUTESr   r   send_message)r   r	   messagefm r   */var/www/html/RetailAPI/app/utils/email.pysend_otp_email
   s   r   tor   r   returnc              
   C   s   zFt  }tj|d< | |d< ||d< || ttjtj}tjr&|	  |
tjtj || W d    W dS 1 s?w   Y  W dS  ty` } ztd|  W Y d }~dS d }~ww )NFromToSubjectTz Unexpected error sending email: F)r   r   	MAIL_FROMset_contentsmtplibSMTPMAIL_SERVER	MAIL_PORTMAIL_STARTTLSstarttlsloginMAIL_USERNAMEMAIL_PASSWORDr   	Exceptionprint)r   r   r   msgserverer   r   r   
send_email   s(   


r+   )fastapi_mailr   r   
app.configr   r   email.messager   r   r   strr   boolr+   r   r   r   r   <module>   s    