[Zope-Checkins] SVN: Zope/trunk/src/Products/MailHost/ Remove the SMTPMailer duplicated from zope.sendmail and make its module a deprecated alias to the equivalent in z.s.
Matthew Wilkes
matthew at matthewwilkes.co.uk
Tue Jun 29 12:05:17 EDT 2010
Log message for revision 113980:
Remove the SMTPMailer duplicated from zope.sendmail and make its module a deprecated alias to the equivalent in z.s.
Changed:
U Zope/trunk/src/Products/MailHost/MailHost.py
U Zope/trunk/src/Products/MailHost/mailer.py
-=-
Modified: Zope/trunk/src/Products/MailHost/MailHost.py
===================================================================
--- Zope/trunk/src/Products/MailHost/MailHost.py 2010-06-29 16:01:34 UTC (rev 113979)
+++ Zope/trunk/src/Products/MailHost/MailHost.py 2010-06-29 16:05:17 UTC (rev 113980)
@@ -48,6 +48,7 @@
from OFS.SimpleItem import Item
from zope.interface import implements
+from zope.sendmail.mailer import SMTPMailer
from zope.sendmail.maildir import Maildir
from zope.sendmail.delivery import DirectMailDelivery, QueuedMailDelivery, \
QueueProcessorThread
@@ -55,11 +56,6 @@
from interfaces import IMailHost
from decorator import synchronized
-# Use our own TLS/SSL-aware mailer since the zope.sendmail does
-# not support TLS/SSL in this version (should be replaced with
-# the next version)
-from mailer import SMTPMailer
-
queue_threads = {} # maps MailHost path -> queue processor threada
LOG = logging.getLogger('MailHost')
Modified: Zope/trunk/src/Products/MailHost/mailer.py
===================================================================
--- Zope/trunk/src/Products/MailHost/mailer.py 2010-06-29 16:01:34 UTC (rev 113979)
+++ Zope/trunk/src/Products/MailHost/mailer.py 2010-06-29 16:05:17 UTC (rev 113980)
@@ -1,74 +1,2 @@
-##############################################################################
-#
-# Copyright (c) 2003 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-
-"""
-SMTPMailer with TLS/SSL support
-(original code taken from zope.sendmail)
-
-$Id: mailer.py 78981 2007-08-19 06:38:48Z andreasjung $
-"""
-__docformat__ = 'restructuredtext'
-
-import socket
-from smtplib import SMTP
-
-from zope.interface import implements
-from zope.sendmail.interfaces import ISMTPMailer
-
-have_ssl = hasattr(socket, 'ssl')
-
-class SMTPMailer(object):
-
- implements(ISMTPMailer)
-
- smtp = SMTP
-
- def __init__(self, hostname='localhost', port=25,
- username=None, password=None, no_tls=False, force_tls=False):
- self.hostname = hostname
- self.port = port
- self.username = username
- self.password = password
- self.force_tls = force_tls
- self.no_tls = no_tls
-
- def send(self, fromaddr, toaddrs, message):
- connection = self.smtp(self.hostname, str(self.port))
-
- # send EHLO
- code, response = connection.ehlo()
- if code < 200 or code >300:
- code, response = connection.helo()
- if code < 200 or code >300:
- raise RuntimeError('Error sending HELO to the SMTP server '
- '(code=%s, response=%s)' % (code, response))
-
- # encryption support
- have_tls = connection.has_extn('starttls')
- if not have_tls and self.force_tls:
- raise RuntimeError('TLS is not available but TLS is required')
-
- if have_tls and have_ssl and not self.no_tls:
- connection.starttls()
- connection.ehlo()
-
- if connection.does_esmtp:
- if self.username is not None and self.password is not None:
- connection.login(self.username, self.password)
- elif self.username:
- raise RuntimeError('Mailhost does not support ESMTP but a username '
- 'is configured')
-
- connection.sendmail(fromaddr, toaddrs, message)
- connection.quit()
+import zope.deprecation
+zope.deprecation.moved('zope.sendmail.mailer', 'Zope 2.14')
\ No newline at end of file
More information about the Zope-Checkins
mailing list