Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2011, 13:48   #1
Андрей Олегович
Новичок
Джуниор
 
Регистрация: 14.06.2011
Сообщений: 3
Сообщение TidAttachment и его кодировка

Доброго времени суток, уважаемые программисты!
Столкнулся с проблемой:
При отправки имейл и присоеденении файла меняется кодировка!
Т.е. Если я отправляю мейл без атача, письмо доходит, и читабельно.
Если присоеденяю файл то текст сообщение будто "Теряет" кодировку, и приходят "кракозябры".
Также изменяется имя файла на нечитабельное.
Но мейл доходит вместе с атачем.
с английскими буквами все нормально, проблема в русской кодировке

Код:
IDSMTP1.Host:='хост.kz';
IDSMTP1.Port:=25;
IDSMTP1.Username:='отправитель'; 
IDSMTP1.Password:='пароль';
IdSMTP1.AuthenticationType:=atLogin; 
TidAttachment.Create(IdMessage1.MessageParts,'имя файла.xls');
IdMessage1.CharSet:='windows-1251';
IdMessage1.ContentType:='text/plain';


with IdMessage1 do begin
      Body.text:=memo1.text;
      CharSet:='windows-1251';
      ContentType:='text/plain';



From.Text := 'откого'; 
Recipients.EMailAddresses := memo2.Lines[per]; // номер строки кому
Subject:=edit3.Text; //тема


//IdMessage1.AttachmentEncoding:='TEXT';   // тут ругается, если убрать коменты, и точно не знаю как правильно присвоить значение

 CharSet:='windows-1251';
      ContentType:='text/plain';// в сотый раз пытался изменить кодировку

end;
idsmtp1.Connect();
if idsmtp1.connected then
idsmtp1.Send(idmessage1);
idsmtp1.disconnect;

Заранее спасибо!
П.С. Форум перечитывал, Гугл Гуглил!
Андрей Олегович вне форума Ответить с цитированием
Старый 14.06.2011, 18:51   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
AttachmentEncoding:='TEXT';
должно быть 'MIME', 'UUE' или 'XXE', вроде как.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 15.06.2011, 11:06   #3
Андрей Олегович
Новичок
Джуниор
 
Регистрация: 14.06.2011
Сообщений: 3
По умолчанию

При МИМЕ все теже иероглифы, а если UUE приходит нормально, но с доп. текстом. При ХХЕ еще больше текста
Цитирую:

This is a multi-part message in MIME format

--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Привет!!



--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: application/octet-stream;
name="zayav.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="zayav.xls"




--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: application/octet-stream;
name="zayav.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="zayav.xls"


П.с. Спасибо за ответ


--=_NextPart_2rfkindysadvnqw3nerasdf--
Андрей Олегович вне форума Ответить с цитированием
Старый 15.06.2011, 11:28   #4
Андрей Олегович
Новичок
Джуниор
 
Регистрация: 14.06.2011
Сообщений: 3
По умолчанию

Попробовал сделать
Код:
IdMessage1.Encoding:=meUU;
Тогда приходят "Кракозябры"
если
Код:
IdMessage1.Encoding:=meMime;
ТО приходит с доп текстом указанным выше
Андрей Олегович вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в TidAttachment ошибка Jantar Работа с сетью в Delphi 2 15.09.2011 11:27
TIdAttachment и delphi 2009 art-programs Работа с сетью в Delphi 2 26.10.2009 21:29
Отпрака письма с TIdAttachment dradysman Работа с сетью в Delphi 1 10.08.2009 08:30
неубиваемый вирус! все антивирусы не находят его! кто знает как его убрать? Yury111 Безопасность, Шифрование 12 05.06.2009 11:19