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"