Форум сайта python.su
Нашел скрипт для отправки почты. Но в нем указано что работает только для ASCII символов.
import smtplib
from email.MIMEText import MIMEText
# Open a plain text file for reading. For this example, assume that
# the text file contains only ASCII characters.
fp = open(textfile, ‘rb’)
# Create a text/plain message
msg = MIMEText(fp.read())
fp.close()
msg = ‘The contents of %s’ % textfile
msg = me
msg = you
s = smtplib.SMTP()
s.connect()
s.sendmail(me, , msg.as_string())
s.close()
Как модифицировать код, чтобы можно было отправлять в кодировке cp1251, koi8-ru, utf8?
Офлайн
В конструктор передай кодировку.
msg = MIMEText(fp.read(), 'plain', charset)
Офлайн
slivlenстранно как с cp866, utf-8 работает. а с cp1251 приходит письмо с ошибкой
Отредактировано (Июль 4, 2007 12:53:49)
Офлайн
qmanПопробуй указать cp-1251, может поможет :)
странно как с cp866, utf-8 работает. а с cp1251 приходит письмо с ошибкой
qman
Еще вопрос, как сделать читаемой тему письма? при использовании кодировки файла UTF-8?
msg['Subject'] = email.Header.Header('The contents of %s' % textfile, charset)
qmanНе должно
я готов на UTF-8 хранить файлы программ, но не возникнет ли у меня из за этого проблем?
Офлайн
Все заработало.
Подскажите как можно найти описание на
email.Header.Header('The contents of %s' % textfile, charset)
чтобы не задавать глупые вопросы на форуме.
запустил pydoc, ввел email , pydoc показал описание на email нашел класс header,
email.Header.
но откуда можно выяснить что есть еще
Header('The contents of %s' % textfile, charset)
???
Спасибо
Офлайн
Офлайн