�
Ϫ�faP � �L � d Z ddlZddlZddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
mZ ddlmZmZ dd lmZmZ G d
� d� Z ee� G d� d
� � Z eej. � G d� d� � Z G d� dej2 � Z G d� dej6 � Zy)z
Mail service support.
� N)�implementer)�internet�service)�Portal)�defer)� protocols�smtp)�IAliasableDomain�IDomain)�log�utilc � � e Zd ZdZd� Zd� Zd� Zedd�� Zd� Z d� Z
d � Zd
� Zd� Z
d� Zd
efd�Zd
efd�Zdd�Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zy)�DomainWithDefaultDictz�
A simulated dictionary for mapping domain names to domain objects with
a default value for non-existing keys.
@ivar domains: See L{__init__}
@ivar default: See L{__init__}
c � � || _ || _ y)z�
@type domains: L{dict} of L{bytes} -> L{IDomain} provider
@param domains: A mapping of domain name to domain object.
@type default: L{IDomain} provider
@param default: The default domain.
N)�domains�default)�selfr r s �3/usr/lib/python3/dist-packages/twisted/mail/mail.py�__init__zDomainWithDefaultDict.__init__$ s � � ������ c � � || _ y)z
Set the default domain.
@type domain: L{IDomain} provider
@param domain: The default domain.
N)r )r �domains r �setDefaultDomainz&DomainWithDefaultDict.setDefaultDomain/ s � � ��r c �< |