diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index 97b7ac6..7da8fa6 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -176,6 +176,9 @@ EMAIL_HOST_USER = ''
 EMAIL_HOST_PASSWORD = ''
 EMAIL_USE_TLS = False
 
+# Hostname to send in the EHLO message to the SMTP server.
+EMAIL_LOCAL_HOSTNAME = ''
+
 # List of strings representing installed apps.
 INSTALLED_APPS = ()
 
diff --git a/django/core/mail/backends/smtp.py b/django/core/mail/backends/smtp.py
index bb184ab..9b7304d 100644
--- a/django/core/mail/backends/smtp.py
+++ b/django/core/mail/backends/smtp.py
@@ -14,12 +14,20 @@ class EmailBackend(BaseEmailBackend):
     A wrapper that manages the SMTP network connection.
     """
     def __init__(self, host=None, port=None, username=None, password=None,
-                 use_tls=None, fail_silently=False, **kwargs):
+                 use_tls=None, fail_silently=False, from_host=None, **kwargs):
         super(EmailBackend, self).__init__(fail_silently=fail_silently)
         self.host = host or settings.EMAIL_HOST
         self.port = port or settings.EMAIL_PORT
         self.username = username or settings.EMAIL_HOST_USER
         self.password = password or settings.EMAIL_HOST_PASSWORD
+
+        # If from_host and settings.EMAIL_FROM_HOST are not specified,
+        # socket.getfqdn() gets used. For performance, we use the cached
+        # FQDN for from_host.
+        self.from_host = from_host or \
+                         settings.EMAIL_LOCAL_HOSTNAME or \
+                         DNS_NAME.get_fqdn()
+
         if use_tls is None:
             self.use_tls = settings.EMAIL_USE_TLS
         else:
@@ -36,10 +44,8 @@ class EmailBackend(BaseEmailBackend):
             # Nothing to do if the connection is already open.
             return False
         try:
-            # If local_hostname is not specified, socket.getfqdn() gets used.
-            # For performance, we use the cached FQDN for local_hostname.
             self.connection = smtplib.SMTP(self.host, self.port,
-                                           local_hostname=DNS_NAME.get_fqdn())
+                                           local_hostname=self.from_host)
             if self.use_tls:
                 self.connection.ehlo()
                 self.connection.starttls()
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index 8bf0a4e..47e54d4 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -882,6 +882,14 @@ Whether to use a TLS (secure) connection when talking to the SMTP server.
 
 .. setting:: FILE_CHARSET
 
+EMAIL_LOCAL_HOSTNAME
+--------------------
+
+Default: ``''`` (Empty string)
+
+The hostname to send to the SMTP server in the EHLO command. If unset, a
+cached local DNS name from socket.getfqdn() is used.
+
 FILE_CHARSET
 ------------
 
diff --git a/docs/topics/email.txt b/docs/topics/email.txt
index ea62120..892ab23 100644
--- a/docs/topics/email.txt
+++ b/docs/topics/email.txt
@@ -30,6 +30,8 @@ Mail is sent using the SMTP host and port specified in the
 :setting:`EMAIL_HOST_USER` and :setting:`EMAIL_HOST_PASSWORD` settings, if
 set, are used to authenticate to the SMTP server, and the
 :setting:`EMAIL_USE_TLS` setting controls whether a secure connection is used.
+:setting:`EMAIL_LOCAL_HOSTNAME` specifies the hostname to be sent in the
+SMTP EHLO command
 
 .. note::
 
@@ -417,8 +419,8 @@ SMTP backend
 This is the default backend. E-mail will be sent through a SMTP server.
 The server address and authentication credentials are set in the
 :setting:`EMAIL_HOST`, :setting:`EMAIL_PORT`, :setting:`EMAIL_HOST_USER`,
-:setting:`EMAIL_HOST_PASSWORD` and :setting:`EMAIL_USE_TLS` settings in your
-settings file.
+:setting:`EMAIL_LOCAL_HOSTNAME`, :setting:`EMAIL_HOST_PASSWORD` and
+:setting:`EMAIL_USE_TLS` settings in your settings file.
 
 The SMTP backend is the default configuration inherited by Django. If you
 want to specify it explicitly, put the following in your settings::
