UnicodeEncodeError: 'ascii' codec can't encode characters при отправке письма

Всем добрый день. Возник вопрос при написании программы. Пытаюсь запустить скрипт, но возникает ошибка

Вот код:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

fromaddr = "[email protected]"
toaddr = "[email protected]"
mypass = "пароль от [email protected]"

msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Привет от питона"

body = "Это пробное сообщение"
msg.attach(MIMEText(body, 'plain'))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, mypass)
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Traceback (most recent call last):
  File "C:/Users/iljal/PycharmProjects/untitled/main.py", line 19, in <module>
    server.login(fromaddr, mypass)
  File "C:\Users\iljal\AppData\Local\Programs\Python\Python38\lib\smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "C:\Users\iljal\AppData\Local\Programs\Python\Python38\lib\smtplib.py", line 634, in auth
    response = encode_base64(initial_response.encode('ascii'), eol='')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 20-25: ordinal not in range(128)

Подскажите пожалуйста, как устранить проблему? Заранее большое спасибо!


Ответы (1 шт):

Автор решения: user404865

Уберите всюду кирилические символы и всё заработает. Кодировка вашего файла скорее всего не utf-8.

→ Ссылка