OwlCyberSecurity - MANAGER
Edit File: smtp.cpython-39.pyc
a ���el � @ sl d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z ddl mZ ddlm Z G dd � d e�ZdS ) zSMTP email backend class.� N)�settings)�BaseEmailBackend��sanitize_address)�DNS_NAME)�cached_propertyc sZ e Zd ZdZd� fdd� Zedd� �Zedd � �Zd d� Z dd � Z dd� Zdd� Z� Z S )�EmailBackendz= A wrapper that manages the SMTP network connection. NFc s� t � j|d� |ptj| _|p"tj| _|d u r4tjn|| _|d u rHtj n|| _ |d u r\tjn|| _|d u rptj n|| _|d u r�tjn|| _| d u r�tjn| | _| d u r�tjn| | _| jr�| jr�td��d | _t�� | _d S )N)� fail_silentlyz^EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive, so only set one of those settings to True.)�super�__init__r Z EMAIL_HOST�hostZ EMAIL_PORT�portZEMAIL_HOST_USER�usernameZEMAIL_HOST_PASSWORD�passwordZ EMAIL_USE_TLS�use_tlsZ EMAIL_USE_SSL�use_sslZ EMAIL_TIMEOUT�timeoutZEMAIL_SSL_KEYFILE�ssl_keyfileZEMAIL_SSL_CERTFILE�ssl_certfile� ValueError� connection� threading�RLock�_lock)�selfr r r r r r r r r r �kwargs�� __class__� �_/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/core/mail/backends/smtp.pyr s$ ���zEmailBackend.__init__c C s | j rtjS tjS )N)r �smtplibZSMTP_SSL�SMTP�r r r r �connection_class6 s zEmailBackend.connection_classc C s: | j s| jr.tjtjd�}|�| j | j� |S t�� S d S )N)�protocol)r r �ssl� SSLContext�PROTOCOL_TLS_CLIENT�load_cert_chain�create_default_context)r �ssl_contextr r r r* : s zEmailBackend.ssl_contextc C s� | j r dS dt�� i}| jdur*| j|d<