a
    .i                     @   sF   d dl mZmZ d dlmZ d dlmZ d dlmZ G dd dZ	dS )    )appCONFIG)Message)render_template)Listc                   @   sT   e Zd Zdd Zdee eeedddZeeeeddd	Zeeed
ddZdS )Emailc                 C   s   t   td d t jd< td d t jd< td d t jd< td d t jd	< td d
 t jd< td d t jd< td d t jd< |t | _W d    n1 s0    Y  d S )NemailtestingTESTINGZmail_serverMAIL_SERVERZ	mail_port	MAIL_PORTZmail_use_tlsMAIL_USE_TLSZmail_use_sslMAIL_USE_SSLZmail_usernameMAIL_USERNAMEZmail_passwordMAIL_PASSWORD)r   app_contextr   configinit_appmail_manager)selfr    r   </var/www/staging/api/app_home/main/services/email_service.py__init__   s    
zEmail.__init__N)
recipientssubject_str	body_text	body_htmlc                 C   s:   t d d }t||||d}|d ur*||_| j| d S )Nr   Zdefault_mail_sender)senderr   body)r   r   htmlr   send)r   r   r   r   r   r   messager   r   r   _send_email   s
    zEmail._send_email)to_email_addressr   r   r   c                 C   s   |g}|  |||| d S )N)r"   )r   r#   r   r   r   r   r   r   r   
send_email   s    zEmail.send_email)r#   r   template_name_stemc           	      C   sD   d| d}d| d}t ||d}t ||d}| |||| d S )Nzemail/z.txtz.html)model)r   r$   )	r   r#   r   r%   email_modelZtxt_template_nameZhtml_template_namer   r   r   r   r   send_templated_email!   s
    zEmail.send_templated_email)N)	__name__
__module____qualname__r   r   strr"   r$   r(   r   r   r   r   r      s   
r   N)
setupr   r   
flask_mailr   flaskr   typingr   r   r   r   r   r   <module>   s   