summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/mta.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-10-18 21:48:52 -0400
committerBarry Warsaw2009-10-18 21:48:52 -0400
commit1bd649921b181c1f61083a04df0a9224d7164d0d (patch)
tree4f80b34b52f6dc5b9c2deabb4420d57931625891 /src/mailman/interfaces/mta.py
parent34e27b816aa120e81a8e970ac1d8847384bd3edf (diff)
downloadmailman-1bd649921b181c1f61083a04df0a9224d7164d0d.tar.gz
mailman-1bd649921b181c1f61083a04df0a9224d7164d0d.tar.zst
mailman-1bd649921b181c1f61083a04df0a9224d7164d0d.zip
Diffstat (limited to 'src/mailman/interfaces/mta.py')
-rw-r--r--src/mailman/interfaces/mta.py28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/mailman/interfaces/mta.py b/src/mailman/interfaces/mta.py
index a8c794750..3dd1793e5 100644
--- a/src/mailman/interfaces/mta.py
+++ b/src/mailman/interfaces/mta.py
@@ -21,7 +21,8 @@ from __future__ import absolute_import, unicode_literals
__metaclass__ = type
__all__ = [
- 'IMailTransportAgent',
+ 'IMailTransportAgentAliases',
+ 'IMailTransportAgentDelivery',
]
@@ -29,8 +30,8 @@ from zope.interface import Interface
-class IMailTransportAgent(Interface):
- """Interface to the MTA."""
+class IMailTransportAgentAliases(Interface):
+ """Interface to the MTA aliases generator."""
def create(mlist):
"""Tell the MTA that the mailing list was created."""
@@ -40,3 +41,24 @@ class IMailTransportAgent(Interface):
def regenerate():
"""Regenerate the full aliases file."""
+
+
+
+class IMailTransportAgentDelivery(Interface):
+ """Interface to the MTA delivery strategies."""
+
+ def deliver(mlist, msg, msgdata):
+ """Deliver a message to a mailing list's recipients.
+
+ Ordinarily the mailing list is consulted for delivery specifics,
+ however the message metadata dictionary can contain additional
+ directions to control delivery. Specifics are left to the
+ implementation.
+
+ :param mlist: The mailing list being delivered to.
+ :type mlist: `IMailingList`
+ :param msg: The original message being delivered.
+ :type msg: `Message`
+ :param msgdata: Additional message metadata for this delivery.
+ :type msgdata: dictionary
+ """