Цель: Нужно отослать письмо на почту. В письме есть кириллические символы.
Проблема: скрипт работает с латинскими символами, но не работает с кириллицей
Скрипт:
import smtplibTEXT = ""Кириллица \n""\ ""Кириллица\n""TO = 'xxxxxx@gmail.com'SUBJECT = 'xxxx'# Gmail Sign Ingmail_sender = 'xxxx@gmail.com'gmail_passwd = 'xxxxxx'server = smtplib.SMTP('smtp.gmail.com', 587)server.ehlo()server.starttls()server.login(gmail_sender, gmail_passwd)BODY = '\r\n'.join(['To: %s' % TO, 'From: %s' % gmail_sender, 'Subject: %s' % SUBJECT, '', TEXT])try: server.sendmail(gmail_sender, [TO], BODY) print('email sent')except: print('error sending mail')server.quit()Ошибка:
Traceback (most recent call last): File ""C:/Users/babai/PycharmProjects/test/mail.py"", line 47, in <module> server.sendmail(gmail_sender, [TO], BODY) File ""C:\Program Files (x86)\Python36-32\lib\smtplib.py"", line 854, in sendmail msg = _fix_eols(msg).encode('ascii')UnicodeEncodeError: 'ascii' codec can't encode characters in position 63-74: ordinal not in range(128)На сколько я понимаю проблема в кодировке. Тоесть модуль smtplib работает только с ANSII ??
question@mail.ru
·