o
    8	.h                     @   s\   d dl mZ d dlZd dlZd dlZd dlZd dlmZm	Z	 d dl
mZ G dd deZdS )    )EmailBackendN)
formatdate
make_msgid)EmailMessagec                       s4   e Zd ZdZ fddZdd Z fddZ  ZS )SSLUnverifiedEmailBackendz
    Custom email backend that:
    1. Disables SSL certificate verification
    2. Adds required headers for Gmail compliance
    c                    s    t  j|i | t | _d S )N)super__init__ssl_create_unverified_contextssl_context)selfargskwargs	__class__ 9/var/www/html/bloggers_ems/events/utils/smtp_ssl_patch.pyr      s   z"SSLUnverifiedEmailBackend.__init__c                 C   s   | j rdS | jrtjntj}i }| jr| j|d< || j| jfi || _ | js2| jr2| j j	| jd | j
rA| jrA| j | j
| j dS )zCOpen a connection to the SMTP server with SSL verification disabledFcontext)r   T)
connectionuse_sslsmtplibSMTP_SSLSMTPr   hostportuse_tlsstarttlsusernamepasswordlogin)r   connection_classr   r   r   r   open   s   
zSSLUnverifiedEmailBackend.openc                    sB   d|j vrt| jd|j d< d|j vrtdd|j d< t |S )z#Add required headers before sendingz
Message-ID)domainDateT)	localtime)extra_headersr   r   r   r   _send)r   email_messager   r   r   r&   ,   s
   

zSSLUnverifiedEmailBackend._send)__name__
__module____qualname____doc__r   r!   r&   __classcell__r   r   r   r   r   	   s
    r   )django.core.mail.backends.smtpr   DjangoEmailBackendr   r	   uuidsocketemail.utilsr   r   email.messager   r   r   r   r   r   <module>   s    