ВОПРОС · Q&A

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

2 ответов 2,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Хочу сделать отправку письма с помощью 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')
 
  • Нравится
Реакции: Глюк и Сергей Попов
2
codeby.net окрыляеееет
 
  • Нравится
Реакции: Сергей Попов и Азиз
2