File: //usr/lib/python3/dist-packages/twisted/mail/__pycache__/tap.cpython-310.pyc
o
�b�1 � @ s� d Z ddlZddlmZ ddlmZmZ ddlmZ ddl m
Z
mZmZm
Z
mZ ddlmZ G dd � d ejej�ZG d
d� d�Zdd
� ZdS )z0
Support for creating mail servers with twistd.
� N)�internet)�checkers�strcred)� endpoints)�alias�mail�maildir�relay�relaymanager)�usagec @ s� e Zd ZdZdZg d�g d�gZg d�g d�g d�g d�gZd d
d�Zej de�
� id
�ZdZdd� Z
dd� Zdd� ZeZdd� ZeZdd� ZeZdd� ZeZdd� ZeZdd� ZeZdd � ZeZd!d"� Zd#d$� Zd%S )&�Optionsa�
An options list parser for twistd mail.
@type synopsis: L{bytes}
@ivar synopsis: A description of options for use in the usage message.
@type optParameters: L{list} of L{list} of (0) L{bytes}, (1) L{bytes},
(2) L{object}, (3) L{bytes}, (4) L{None} or
callable which takes L{bytes} and returns L{object}
@ivar optParameters: Information about supported parameters. See
L{Options <twisted.python.usage.Options>} for details.
@type optFlags: L{list} of L{list} of (0) L{bytes}, (1) L{bytes} or
L{None}, (2) L{bytes}
@ivar optFlags: Information about supported flags. See
L{Options <twisted.python.usage.Options>} for details.
@type _protoDefaults: L{dict} mapping L{bytes} to L{int}
@ivar _protoDefaults: A mapping of default service to port.
@type compData: L{Completions <usage.Completions>}
@ivar compData: Metadata for the shell tab completion system.
@type longdesc: L{bytes}
@ivar longdesc: A long description of the plugin for use in the usage
message.
@type service: L{MailService}
@ivar service: The email service.
@type last_domain: L{IDomain} provider or L{None}
@ivar last_domain: The most recently specified domain.
z [options])r �RNz[Relay messages according to their envelope 'To', using the given path as a queue directory.)�hostname�HNz.The hostname by which to identify this server.)�esmtp�Ez!Use RFC 1425/1869 SMTP extensions)�disable-anonymousNz+Disallow non-authenticated SMTP connections)zno-pop3Nz Disable the default POP3 server.)zno-smtpNz Disable the default SMTP server.i� iY )�pop3�smtpr )�
optActionsa�
An SMTP / POP3 email server plugin for twistd.
Examples:
1. SMTP and POP server
twistd mail --maildirdbmdomain=example.com=/tmp/example.com
--user=joe=password
Starts an SMTP server that only accepts emails to joe@example.com and saves
them to /tmp/example.com.
Also starts a POP mail server which will allow a client to log in using
username: joe@example.com and password: password and collect any email that
has been saved in /tmp/example.com.
2. SMTP relay
twistd mail --relay=/tmp/mail_queue
Starts an SMTP server that accepts emails to any email address and relays
them to an appropriate remote SMTP server. Queued emails will be
temporarily stored in /tmp/mail_queue.
c C s4 t j�| � t�� | _d| _| jD ]}g | |<