Ошибка кодировки

Азиз

Green Team
30.05.2018
224
74
Хочу сделать отправку письма с помощью python, но когда текст пишу на английском - все норм, а когда на русском - выходит ошибка :
'ascii' codec can't encode characters in position 93-99: ordinal not in range(128)

Пожалуйста подскажите, как это решить.
Вот сам код:
Python:
def obratn(request):
    messages = request.POST['message']
    TO = "..."
    SUBJECT = request.POST['email']
    TEXT = request.POST['message']
    gmail_sender = '...'
    gmail_passwd = '...'
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.ehlo()
    server.starttls()
    server.ehlo()
    server.login(gmail_sender, gmail_passwd)
    BODY = '\r\n'.join(['To: %s' % TO,'FROM: %s' % gmail_sender,'Subject: %s' % SUBJECT,'',TEXT] )
    server.sendmail(gmail_sender, [TO], BODY)
    msg = _fix_eols(msg).encode('ascii')
    server.quit()
    return render(request, 'ind/obra.html',  )

Извините если криво объяснил
 
Все форумы перелистал, нифига не помогает

Кароч, сам решил проблему, заменил server.sendmail(gmail_sender,[TO], BODY) на server.sendmail(gmail_sender,[TO], BODY.encode('utf-8')
 
codeby.net окрыляеееет
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab