Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Delphi"


Паскаль, Делфи


 #0 ID © 26.08.08 11:33:09 - 28.08.08 13:06:00

Indy 10. Сохранение письма в файл



Зациклился на элементарном

        IdMsgSend.ContentType := 'text/plain';
        IdMsgSend.CharSet := 'windows-1251';
        IdMsgSend.From.Address := FileIni.ReadString('e-mail','AdminEmail­','test@test.com.ua');
        IdMsgSend.Recipients.EMailAddresses := SendSMS1.SMS[i].owner;
        IdMsgSend.Subject := 'Report on sent SMS';
        IdMsgSend.Body.Text := '  Recipients  | Date of receipt|Date of dispatch|  Message text';
        IdMsgSend.Subject := 'info';
       end;
     IdMsgSend.Body.Text := '...';
     IdMsgSend.SaveToFile(mLogFile);



Результат:

From: "test@test.com.ua" <test@test.com.ua>
Subject: info
To: owner@test.com.ua
Content-Type: text/plain
Date: Tue, 26 Aug 2008 11:27:02 +0300

тело письма



Проблема: нет строки charset=windows-1251

танцы с бубном вокруг строк
        IdMsgSend.ContentType := 'text/plain';
        IdMsgSend.CharSet := 'windows-1251';
результата не дали

По уму, значение этих свойств должно попасть в шапку. Где прокол? Цитата

 #1 Deep © 26.08.08 13:38:52

пришли мне программно такое письмо на мой емейл, я гляну
 #2 ID © 26.08.08 14:50:55

Письма-то уходят. Проблема в том, что программа, которая обрабатывает логи у получателя пытается определить кодировку что бы сделать соответствующие преобразования. А кодировка не указана.
 #3 Deep © 26.08.08 22:22:49

>#2 ID ©
я тебя прекрасно понял, потому и прошу выслать мне реальное письмо
думаю, что с большой вероятностью проблема не в "отправителе", а в "получателе"
 #4 ID © 27.08.08 11:44:55

отправил...
 #5 Deep © 27.08.08 12:26:29

сейчас у тебя в письме:
Content-Type: text/plain


попробуй задать кодовую страницу вот так:

IdMsgSend.ContentType := 'text/plain; charset=windows-1251';

я не смотрел, как там в исходниках инди, но в итоге в письме у тебя должна появиться строка такого вида

Content-Type: text/plain; charset=windows-1251

после этого программы-получатели должны воспринимать кодировку письма нормально
 #6 ID © 27.08.08 12:58:04

пробовал, charset=windows-1251 отсекается :D
Пробовал даже        

IdMsgSend.ExtraHeaders.Add('Conte­nt-Type: text/plain; charset=windows-1251');

отсекается.
 #7 Deep © 28.08.08 01:52:13

>#6 ID ©
Не юзаю Инди принципиально. Рекомендую ICS.
Глянул в тырнете, пробуй вот так:

IdMessage.ContentType := 'text/plain';
IdMessage.CharSet:='CP1251';
 #8 ID © 28.08.08 10:53:42

Разобрался!
Необходимо указать  
idMsgSend.Encoding := meMIME;
и тогда все работает :), значение charset попадает в шапку
 #9 Deep © 28.08.08 13:06:00

о, как




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов