![]() Server : Apache/2.4.52 (Ubuntu) System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 User : www-data ( 33) PHP Version : 8.1.2-1ubuntu2.21 Disable Function : NONE Directory : /lib/python3/dist-packages/twisted/mail/__pycache__/ |
o �b� � @ s� d Z ddlZddlZddlmZ ddlmZ ddlmZ G dd� d�Z G dd � d �Z G d d� de ej�ZG dd � d e ej �ZdS )z Support for relaying mail. � N)�UNIXAddress)�smtp)�logc @ s2 e Zd ZdZddd�Zdd� Zdd� Zd d � ZdS ) �DomainQueuerzM An SMTP domain which add messages to a queue intended for relaying. Fc C s || _ || _d S �N)�service�authed)�selfr � authenticated� r �4/usr/lib/python3/dist-packages/twisted/mail/relay.py�__init__ s zDomainQueuer.__init__c sp � � �j�j�r3tdt�j��dd��}tdt�j��dd��}t|�dkr3t|�dkr3� �fdd�S t� ���)a� Check whether mail can be relayed to a user. @type user: L{User} @param user: A user. @rtype: no-argument callable which returns L{IMessage <smtp.IMessage>} provider @return: A function which takes no arguments and returns a message receiver for the user. @raise SMTPBadRcpt: When mail cannot be relayed to the user. N�@� � c s � � ��S r )�startMessager �r �userr r �<lambda>- s z%DomainQueuer.exists.<locals>.<lambda>) � willRelay�dest�protocol�filter�str�orig�split�lenr �SMTPBadRcpt)r r r r r r r �exists s zDomainQueuer.existsc C s$ |j �� }| jpt|t�p|jdkS )z� Check whether we agree to relay. The default is to relay for all connections over UNIX sockets and all connections from localhost. z 127.0.0.1)� transport�getPeerr � isinstancer �host)r �addressr �peerr r r r 0 s zDomainQueuer.willRelayc C s| | j j}|�� \}}|�( t�dt|j��dt|j���� t� t|j�t|j�g|� W d � |S 1 s7w Y |S )z� Create an envelope and a message receiver for the relay queue. @type user: L{User} @param user: A user. @rtype: L{IMessage <smtp.IMessage>} @return: A message receiver. zQueueing mail z -> N) r �queue�createNewMessager �msgr r r �pickle�dump)r r r% �envelopeFile�smtpMessager r r r : s " ��zDomainQueuer.startMessageN)F)�__name__� __module__�__qualname__�__doc__r r r r r r r r r s r c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )�RelayerMixinc C s� g | _ g | _|D ]5}t|d d�� }t�|�}W d � n1 s!w Y t|d �}|�|� | j �|� | j�|� qd S )N�-H�rb�-D)�messages�names�openr( �load�append)r �messagePaths�message�fp�messageContentsr r r �loadMessagesR s � �zRelayerMixin.loadMessagesc C s | j sd S | j d d S )Nr �r4 �r r r r �getMailFrom] � zRelayerMixin.getMailFromc C s | j sd S | j d d gS )Nr r r>