Форум сайта python.su
Создаю письмо с вложенным файлом, не могу добиться отображения текста письма не каракулями. Пример кода:
from smtplib import SMTP
import poplib, email
import os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
from email import Charset
class cb_export:
def send_mail(self):
msg = MIMEMultipart()
msg = fromadr
msg = toadr
msg = formatdate(localtime=True)
msg = subject
msg.attach( MIMEText(text, _charset = ‘windows-1252’) ) # тема письма отображается кириллицей
part = MIMEBase('application', “octet-stream”)
part.set_payload( open(sql_file,“rb”).read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', ‘attachment; filename=“%s”’ % os.path.basename(sql_file))
msg.attach(part)
con = SMTP(out_server)
con.login(username, userpass)
con.set_debuglevel(1)
con.sendmail(fromadr, toadr, msg.as_string())
con.quit()
cb = cb_export()
cb.send_mail()
Что упустила? И есть ли у кого-нибудь готовый пример с обратным действием, т.е. с получением письма с вложением и сохранением его в нужную директорию?
Офлайн
А почему windows-1252 это ведь не для кириллицы кодировка. Для кириллицы должно быть windows-1251.
proDivaimport email, sys
И есть ли у кого-нибудь готовый пример с обратным действием, т.е. с получением письма с вложением и сохранением его в нужную директорию?
Офлайн
А еще лучше UTF-8.
Офлайн
MkdirЧем лучше? Разве у кого-то в почтовых программах стоит по умолчанию кодировка utf-8? Когда ко мне приходят письма в ютф, мне приходится менять кодировку.
А еще лучше UTF-8.
Офлайн
proDivaУ меня стоит. КОИ-8 sucks.MkdirЧем лучше? Разве у кого-то в почтовых программах стоит по умолчанию кодировка utf-8?
А еще лучше UTF-8.
Офлайн
bialixНу я и делаю “msg.attach( MIMEText(text, _charset = ‘koi8-r’) )”. По-моему, эта кодировка по умолчанию в Outlook Express.
У меня стоит. КОИ-8 sucks.
Офлайн
msg.attach( MIMEText(text, _charset = ‘koi8-r’)А как у вас с украинскими буквами там?
Офлайн
proDivaА какая разница какая кодировка установлена по умолчанию? Она используется только для кривых сообщений в которых вообще не проставлена кодировка.
Разве у кого-то в почтовых программах стоит по умолчанию кодировка utf-8?
proDivaНе проще поменять почтовый клиент?
Когда ко мне приходят письма в ютф, мне приходится менять кодировку.
Офлайн
OlDerНе проще. мне нравится outlook express
Не проще поменять почтовый клиент?
Офлайн
OlDerЯ думал, мы говорим про исходящую почту.proDivaА какая разница какая кодировка установлена по умолчанию? Она используется только для кривых сообщений в которых вообще не проставлена кодировка.
Разве у кого-то в почтовых программах стоит по умолчанию кодировка utf-8?
Отредактировано (Апрель 17, 2007 08:22:18)
Офлайн