Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Expanded on the SMTPConnection deprecation notes, and made the deprec…

…ation a PendingDeprecationWarning as per the deprecation guidelines.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
1 parent 2552599 commit 78ad0a61a945684e1acf11111cec971d2dfa30c3 @freakboy3742 freakboy3742 committed
Showing with 36 additions and 4 deletions.
  1. +1 −1  django/core/mail/
  2. +35 −3 docs/releases/1.2.txt
2  django/core/mail/
@@ -105,6 +105,6 @@ def __init__(self, *args, **kwds):
import warnings
'mail.SMTPConnection is deprecated; use mail.get_connection() instead.',
- DeprecationWarning
+ PendingDeprecationWarning
super(SMTPConnection, self).__init__(*args, **kwds)
38 docs/releases/1.2.txt
@@ -42,8 +42,8 @@ changes that developers must be aware of:
* All of the CSRF has moved from contrib to core (with backwards compatible
imports in the old locations, which are deprecated).
``LazyObject`` is an undocumented utility class used for lazily wrapping other
objects of unknown type. In Django 1.1 and earlier, it handled introspection in
@@ -67,6 +67,7 @@ changes:
__members__ = property(lambda self: self.__dir__())
.. _deprecated-features-1.2:
Features deprecated in 1.2
@@ -88,7 +89,38 @@ deprecated, as described in the :ref:`upgrading notes <ref-csrf-upgrading-notes>
-This class has been deprecated in favor of the new generic e-mail backends.
+The ``SMTPConnection`` class has been deprecated in favor of a generic
+E-mail backend API. Old code that explicitly instantiated an instance
+of an SMTPConnection::
+ from django.core.mail import SMTPConnection
+ connection = SMTPConnection()
+ messages = get_notification_email()
+ connection.send_messages(messages)
+should now call :meth:`~django.core.mail.get_connection()` to
+instantiate a generic e-mail connection::
+ from django.core.mail import get_connection
+ connection = get_connection()
+ messages = get_notification_email()
+ connection.send_messages(messages)
+Depending on the value of the :setting:`EMAIL_BACKEND` setting, this
+may not return an SMTP connection. If you explicitly require an SMTP
+connection with which to send e-mail, you can explicitly request an
+SMTP connection::
+ from django.core.mail import get_connection
+ connection = get_connection('django.core.mail.backends.smtp')
+ messages = get_notification_email()
+ connection.send_messages(messages)
+If your call to construct an instance of ``SMTPConnection`` required
+additional arguments, those arguments can be passed to the
+:meth:`~django.core.mail.get_connection()` call::
+ connection = get_connection('django.core.mail.backends.smtp', hostname='localhost', port=1234)
What's new in Django 1.2

0 comments on commit 78ad0a6

Please sign in to comment.
Something went wrong with that request. Please try again.