Patch by Per Cederqvist:

I've found two places where smtplib.py sends an extra trailing space
on command lines to the SMTP server.  I don't know if this ever causes
any problems, but I'd prefer to be on the safe side.  The enclosed
patch removes the extra space.
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index 370182e..8cca590 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -231,7 +231,10 @@
  
     def putcmd(self, cmd, args=""):
         """Send a command to the server."""
-        str = '%s %s%s' % (cmd, args, CRLF)
+        if args == "":
+            str = '%s%s' % (cmd, CRLF)
+        else:
+            str = '%s %s%s' % (cmd, args, CRLF)
         self.send(str)
     
     def getreply(self):
@@ -345,8 +348,8 @@
         """SMTP 'mail' command -- begins mail xfer session."""
         optionlist = ''
         if options and self.does_esmtp:
-            optionlist = string.join(options, ' ')
-        self.putcmd("mail", "FROM:%s %s" % (quoteaddr(sender) ,optionlist))
+            optionlist = ' ' + string.join(options, ' ')
+        self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender) ,optionlist))
         return self.getreply()
 
     def rcpt(self,recip,options=[]):