Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2007 10:43:41

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

Как отправить в читаемом виде символы кирилицы, из консоли windows xp.

Всем привет,
пытаюсь разобраться с кодировками

# -*- coding: utf-8 -*-
import time, os, sys, string, commands, subprocess, re
import smtplib, codecs
from email.MIMEText import MIMEText
from email import email
#описываем переменные

def emailto(adress, smtp_server='server', message='', header=''):
# msg = MIMEText(message, ‘plain’, ‘cp866’)
msg = MIMEText(message, ‘plain’, ‘utf-8’)
msg = email.Header.Header(header, ‘utf-8’)
msg = ‘vasya@.ru’
msg = adress
s = smtplib.SMTP()
s.connect(smtp_server)
me = ‘…’
you = adress
s.sendmail(me, you, msg.as_string())
s.close()


stderr=subprocess.STDOUT, cwd='C:\\Program Files').stdout
stdOutErr = subprocess.Popen(, stdout=subprocess.PIPE, stderr=subprocess.STDOUT ).stdout
loglines = stdOutErr.readlines()
for line in loglines:
print line
mytext = loglines + ‘\n’ + loglines
#mytext содержит кирилицу из консоли винды. значит кодировка cp866
umytext = mytext.decode('cp866')
expr = ‘BACKUP DATABASE.*seconds’
text = str(loglines)
reg = re.compile(expr)

try:
result_backup = reg.search(text).group()
except:
print u'Возможна возникла ошибка'
head_message = “возможно ошибка создания резевной копии базы %s!!!”%db_name
else:
head_message = result_backup
emailto(notifytoemail, ‘server’, umytext, head_message )


как отправить письмо в читаемой кодировке с символами кириллицы? скрипт успешно получает содержимое консоли windows xp. но как это содержимое отправить по эл. почте в читаемом виде? В полученных письмах вместо символов кирилицы либо пустые места либо номера символов.



Отредактировано (Янв. 31, 2008 05:02:46)

Офлайн

#2 Дек. 25, 2007 11:59:58

player
От:
Зарегистрирован: 2007-08-09
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как отправить в читаемом виде символы кирилицы, из консоли windows xp.

а попробуй-ка вместо
msg = MIMEText(message, ‘plain’, ‘utf-8’)

вот такую:
msg = MIMEText(message.encode(“utf-8”), ‘plain’, ‘utf-8’)



Офлайн

#3 Дек. 27, 2007 06:53:50

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

Как отправить в читаемом виде символы кирилицы, из консоли windows xp.

player
msg = MIMEText(message.encode(“utf-8”), ‘plain’, 'u
Спасибо помогло.
Я туплю с кодировками.
Подскажите пожалуйста в какой кодировке message? юникод ?
P.S. плюсик в рейтинге вам поставил



Отредактировано (Дек. 27, 2007 07:02:13)

Офлайн

#4 Дек. 30, 2007 18:01:59

player
От:
Зарегистрирован: 2007-08-09
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Как отправить в читаемом виде символы кирилицы, из консоли windows xp.

qman
Подскажите пожалуйста в какой кодировке message? юникод ?
Давай разбираться:
вот вызов: emailto(notifytoemail, ‘mail.dep16.ueip.ru’, umytext, head_message )
Message - это umytext

ну а umytext определялся вот так:
mytext = loglines + ‘\n’ + loglines
#mytext содержит кирилицу из консоли винды. значит кодировка cp866
umytext = mytext.decode('cp866')
В результате umytext - юникод



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version