Fix for issue 5259: ASCII encode the username and password before passing
it to encode_base64, which requires bytes in py3k.  Fix by Musashi Tamura,
tests by Marcin Bachry.
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index d8d717c..0b2a586 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -545,7 +545,8 @@
             return encode_base64(response)
 
         def encode_plain(user, password):
-            return encode_base64("\0%s\0%s" % (user, password))
+            s = "\0%s\0%s" % (user, password)
+            return encode_base64(s.encode('ascii'), eol='')
 
 
         AUTH_PLAIN = "PLAIN"