аватар question@mail.ru · 01.01.1970 03:00

Отправка email. Не отправляется письмо с кириллицей

Цель: Нужно отослать письмо на почту. В письме есть кириллические символы.

Проблема: скрипт работает с латинскими символами, но не работает с кириллицей

Скрипт:

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 ??

аватар answer@mail.ru · 01.01.1970 03:00

Проблема решена с помощю MIMEText

Решение найдено вот здесь

Спасибо

# -*- coding: utf-8 -*-""""""Send email via smtp_host.""""""import smtplibfrom email.mime.text import MIMETextfrom email.header    import Headersmtp_host = 'smtp.gmail.com'  # yahoologin = ""xxxxxx@gmail.com""password =  ""xxxxxxx""recipients_emails = ""xxxxxx@gmail.com""msg = MIMEText('Спасибо', 'plain', 'utf-8')msg['Subject'] = Header('subject…', 'utf-8')msg['From'] = loginmsg['To'] = recipients_emailss = smtplib.SMTP(smtp_host, 587, timeout=10)s.set_debuglevel(1)try:    s.starttls()    s.login(login, password)    s.sendmail(msg['From'], recipients_emails, msg.as_string())finally:    print(msg)    s.quit()

Последние

Похожие