wallace/modules.py
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Fri Mar 9 11:49:51 CET 2012
wallace/modules.py | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
New commits:
commit c7a80b9e38b4313a2f589031462575c2093eecc9
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Fri Mar 9 10:49:31 2012 +0000
Simplify the use of the email library by importing only the correct things
diff --git a/wallace/modules.py b/wallace/modules.py
index 464cf8e..8223d7c 100644
--- a/wallace/modules.py
+++ b/wallace/modules.py
@@ -21,13 +21,17 @@ import os
import sys
import time
-import email
+from email import message_from_file
+from email.message import Message
from email.mime.base import MIMEBase
from email.mime.message import MIMEMessage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE
from email.utils import formatdate
+from email.utils import formataddr
+from email.utils import getaddresses
+from email.utils import parsedate_tz
import smtplib
@@ -115,9 +119,9 @@ def cb_action_HOLD(module, filepath):
def cb_action_DEFER(module, filepath):
log.info(_("Deferring message in %s (by module %s)") % (filepath, module))
- message = email.message_from_file(open(filepath, 'r'))
+ message = message_from_file(open(filepath, 'r'))
- internal_time = email.Utils.parsedate_tz(message.__getitem__('Date'))
+ internal_time = parsedate_tz(message.__getitem__('Date'))
internal_time = time.mktime(internal_time[:9]) + internal_time[9]
now_time = time.time()
@@ -157,11 +161,11 @@ def cb_action_DEFER(module, filepath):
def cb_action_REJECT(module, filepath):
log.info(_("Rejecting message in %s (by module %s)") % (filepath, module))
- message = email.message_from_file(open(filepath, 'r'))
- envelope_sender = email.utils.getaddresses(message.get_all('From', []))
+ message = message_from_file(open(filepath, 'r'))
+ envelope_sender = getaddresses(message.get_all('From', []))
- recipients = email.utils.getaddresses(message.get_all('To', [])) + \
- email.utils.getaddresses(message.get_all('Cc', []))
+ recipients = getaddresses(message.get_all('To', [])) + \
+ getaddresses(message.get_all('Cc', []))
_recipients = []
@@ -196,7 +200,7 @@ X-Wallace-Result: REJECT
msg = MIMEMultipart("report")
msg['From'] = "MAILER-DAEMON@%s" % (constants.fqdn)
- msg['To'] = email.utils.formataddr(envelope_sender)
+ msg['To'] = formataddr(envelope_sender)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = ndr_message_subject
@@ -206,7 +210,7 @@ X-Wallace-Result: REJECT
part.add_header("Content-Description", "Notification")
msg.attach(part)
- _diag_message = email.message.Message()
+ _diag_message = Message()
_diag_message.set_payload(diagnostics)
part = MIMEMessage(_diag_message, "delivery-status")
part.add_header("Content-Description", "Delivery Report")
@@ -221,7 +225,7 @@ X-Wallace-Result: REJECT
try:
smtp.sendmail(
"MAILER-DAEMON@%s" % (constants.fqdn),
- [email.utils.formataddr(envelope_sender)],
+ [formataddr(envelope_sender)],
msg.as_string()
)
except smtplib.SMTPDataError, errmsg:
@@ -241,19 +245,19 @@ X-Wallace-Result: REJECT
def cb_action_ACCEPT(module, filepath):
log.info(_("Accepting message in %s (by module %s)") % (filepath, module))
- message = email.message_from_file(open(filepath, 'r'))
- envelope_sender = email.utils.getaddresses(message.get_all('From', []))
+ message = message_from_file(open(filepath, 'r'))
+ envelope_sender = getaddresses(message.get_all('From', []))
- recipients = email.utils.getaddresses(message.get_all('To', [])) + \
- email.utils.getaddresses(message.get_all('Cc', []))
+ recipients = getaddresses(message.get_all('To', [])) + \
+ getaddresses(message.get_all('Cc', []))
smtp = smtplib.SMTP("localhost", 10027)
try:
smtp.sendmail(
- email.utils.formataddr(envelope_sender),
+ formataddr(envelope_sender),
COMMASPACE.join(
- [email.utils.formataddr(recipient) for recipient in recipients]
+ [formataddr(recipient) for recipient in recipients]
),
message.as_string()
)
More information about the commits
mailing list