diff --git a/Doc/lib/libsmtplib.tex b/Doc/lib/libsmtplib.tex
index e0567e6..f7b8098 100644
--- a/Doc/lib/libsmtplib.tex
+++ b/Doc/lib/libsmtplib.tex
@@ -41,6 +41,23 @@
 certificate chain file for the SSL connection.
 \end{classdesc}
 
+\begin{classdesc}{LMTP}{\optional{host\optional{, port\optional{,
+                        local_hostname}}}}
+
+The LMTP protocol, which is very similar to ESMTP, is heavily based
+on the standard SMTP client. It's common to use Unix sockets for LMTP,
+so our connect() method must support that as well as a regular
+host:port server. To specify a Unix socket, you must use an absolute
+path for \var{host}, starting with a '/'.
+
+Authentication is supported, using the regular SMTP mechanism. When
+using a Unix socket, LMTP generally don't support or require any
+authentication, but your mileage might vary.
+
+\versionadded{2.6}
+
+\end{classdesc}
+
 A nice selection of exceptions is defined as well:
 
 \begin{excdesc}{SMTPException}
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index a5c82a8..5f70b10 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -226,6 +226,7 @@
     debuglevel = 0
     file = None
     helo_resp = None
+    ehlo_msg = "ehlo"
     ehlo_resp = None
     does_esmtp = 0
 
@@ -401,7 +402,7 @@
         host.
         """
         self.esmtp_features = {}
-        self.putcmd("ehlo", name or self.local_hostname)
+        self.putcmd(self.ehlo_msg, name or self.local_hostname)
         (code,msg)=self.getreply()
         # According to RFC1869 some (badly written)
         # MTA's will disconnect on an ehlo. Toss an exception if
@@ -746,6 +747,50 @@
         self.sock = SSLFakeSocket(self.sock, sslobj)
         self.file = SSLFakeFile(sslobj)
 
+#
+# LMTP extension
+#
+LMTP_PORT = 2003
+
+class LMTP(SMTP):
+    """LMTP - Local Mail Transfer Protocol
+
+    The LMTP protocol, which is very similar to ESMTP, is heavily based
+    on the standard SMTP client. It's common to use Unix sockets for LMTP,
+    so our connect() method must support that as well as a regular
+    host:port server. To specify a Unix socket, you must use an absolute
+    path as the host, starting with a '/'.
+
+    Authentication is supported, using the regular SMTP mechanism. When
+    using a Unix socket, LMTP generally don't support or require any
+    authentication, but your mileage might vary."""
+
+    ehlo_msg = "lhlo"
+    
+    def __init__(self, host = '', port = LMTP_PORT, local_hostname = None):
+        """Initialize a new instance."""
+        SMTP.__init__(self, host, port, local_hostname)
+
+    def connect(self, host='localhost', port = 0):
+        """Connect to the LMTP daemon, on either a Unix or a TCP socket."""
+        if host[0] == '/':
+            try:
+                self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+                self.sock.connect(host)
+            except socket.error, msg:
+                if self.debuglevel > 0: print 'connect fail:', host
+                if self.sock:
+                    self.sock.close()
+                self.sock = None
+            if not self.sock:
+                raise socket.error, msg
+            (code, msg) = self.getreply()
+            if self.debuglevel > 0: print "connect:", msg
+            return (code, msg)
+        else:
+            return SMTP.connect(self, host, port)
+
+
 # Test the sendmail method, which tests most of the others.
 # Note: This always sends to localhost.
 if __name__ == '__main__':
diff --git a/Misc/NEWS b/Misc/NEWS
index dd25cbd..635b2c4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -152,6 +152,8 @@
 Library
 -------
 
+- Patch #957003: Implement smtplib.LMTP.
+
 - Patch #1481079: add support for HTTP_REFERER to CGIHTTPServer.
 
 - Bug #1115886: os.path.splitext('.cshrc') gives now ('.cshrc', '').
