Python socket - программа smtp зависает после запроса имени пользователя - PullRequest
0 голосов
/ 06 ноября 2018

Итак, я работаю над программой сокета smtp. Я использую Gmail SMTP. Я сталкиваюсь с проблемой аутентификации, поскольку мой код зависает после того, как сервер запрашивает у меня имя пользователя. ниже мой код аутентификации.

auth = 'AUTH LOGIN\r\n'
clientSocketSSL.send(auth.encode())
recv1 = clientSocketSSL.recv(1024).decode()
print(recv1)
if recv1[:3] != '334':
   print('334 reply not received from server')

username = base64.b64encode(b'******@gmail.com\r\n')
clientSocketSSL.send(username)
recv1 = clientSocketSSL.recv(1024).decode()
print(recv1)
if recv1[:3] != '334':
   print('334 reply not received from server')

password = base64.b64encode(b'*******\r\n')
clientSocketSSL.send(password)
recv1 = clientSocketSSL.recv(1024).decode()
print(recv1)
if recv1[:3] != '235':
   print('235 reply not received from server')

1 Ответ

0 голосов
/ 06 ноября 2018

Не следует включать \r\n в строку, которую вы кодируете с помощью base 64. Его нужно отправлять после имени пользователя или пароля, закодированных в base64.

username = base64.b64encode(b'******@gmail.com\r\n')
clientSocketSSL.send((username + '\r\n'));
...