Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2007 06:03:55

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

Нашел скрипт для отправки почты. Но в нем указано что работает только для 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?



Офлайн

#2 Июль 4, 2007 08:50:34

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

В конструктор передай кодировку.

msg = MIMEText(fp.read(), 'plain', charset)
В качестве примера можно еще посмотреть django.core.mail.



Офлайн

#3 Июль 4, 2007 11:04:31

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

slivlen
странно как с cp866, utf-8 работает. а с cp1251 приходит письмо с ошибкой

This message uses a character set that is not supported by the Internet
Service. To view the original message content, open the attached
message. If the text doesn't display correctly, save the attachment to
disk, and then open it using a viewer that can display the original
character set. <<message.txt>>

может подскажите откуда проблема ?
я готов на UTF-8 хранить файлы программ, но не возникнет ли у меня из за этого проблем?
ОС win xp, python 2.5.1

Еще вопрос, как сделать читаемой тему письма? при использовании кодировки файла UTF-8?



Отредактировано (Июль 4, 2007 12:53:49)

Офлайн

#4 Июль 4, 2007 13:19:34

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

qman
странно как с cp866, utf-8 работает. а с cp1251 приходит письмо с ошибкой
Попробуй указать cp-1251, может поможет :)
qman
Еще вопрос, как сделать читаемой тему письма? при использовании кодировки файла UTF-8?
msg['Subject'] = email.Header.Header('The contents of %s' % textfile, charset)

qman
я готов на UTF-8 хранить файлы программ, но не возникнет ли у меня из за этого проблем?
Не должно



Офлайн

#5 Июль 5, 2007 05:30:09

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

Все заработало.
Подскажите как можно найти описание на
email.Header.Header('The contents of %s' % textfile, charset)
чтобы не задавать глупые вопросы на форуме.
запустил pydoc, ввел email , pydoc показал описание на email нашел класс header,
email.Header.
но откуда можно выяснить что есть еще
Header('The contents of %s' % textfile, charset)
???
Спасибо



Офлайн

#6 Июль 5, 2007 08:22:33

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Как модифицировать код, для отправки email в кодировке cp1251, koi8-ru

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version