-
Уважаемые мастера, прошу помочь разобраться почему при отправке сообщения, тема и поле отправитель приходят в виде крякозябликов
Form1.IdMessage1.Body.Clear;
Form1.IdMessage1.ClearBody;
Form1.IdMessage1.Clear;
Form1.IdMessage1.ClearHeader;
Form1.IdMessage1.CharSet := 'windows-1251';
//Form1.IdMessage1.ContentType := 'mime';
Form1.IdMessage1.ContentType := 'text/html; charset=windows-1251';
//Form1.IdMessage1.ContentTransferEncoding := 'quoted-printable';
Form1.IdMessage1.ContentTransferEncoding := '8bit';
-
а где зжесь тема и отправитель?
uses ..., IdEncoderMIME, ....;
Form1.IdMessage1.Subject := '=?windows-1251?B?' + TIdEncoderMIME.EncodeString ('вот моя тема') + '<>?=';
Точно так же с отправителем.
-
когда подключаю IdEncoderMIME, пишет что нет файла IdEncoderMIME.dcu
первый раз работаю с ИНди, ничего не могу понять.
-
IdCoderMIME.pas?
-
да, такого файлика у меня нету ((
-
> Yurij-7 (29.01.2008 18:00:04) [4]
Инди они разные бывают и каждый раз революция.
А ты сделал поиск по вхождению?
-
да. и всеравно ничего не находит (
-
> IdCoderMIME.pas
этот модуль есть и в инди 9 и в 10
-
> Yurij-7 (29.01.08 17:29)
> Уважаемые мастера, прошу помочь разобраться почему при отправке
> сообщения, тема и поле отправитель приходят в виде крякозябликов
Осмелюсь предположить, что у клиента по-умолчанию стоит кодировка отличная от русской...
-
нет, кодировочка как раз 'windows-1251'
а когда на английском пишу тему то все ок получается ...
-
> [9] Yurij-7 (30.01.08 17:20)
А знаешь что такое "B?" и зачем оно там?
-
чесно сказать не вкурсе ...
подскажите пож.
-
Сперва покажи то, на что жалуешся, а то мы этого так и не увидели
-
Ну это обычные черные палочки в поле отправитель и тема, это даже символом нельзя назвать
-
А header посмотреть? rfc 822 говорит о чем?
-
это в пришедшем письме ?
-
Есть функция EncodeString в модуле EncdDecd. Можешь ее прикрутить к [1]
-
> [15] Yurij-7 (30.01.08 18:00)
Письмо это структурированный текст. Не плохо было бы разобраться в нем.
Subject: [Subjecct text]
From: [Sender]
-
сделал так Form1.IdMessage1.Subject := EncodeString ('Открытие');
и пришло вот такое : zvLq8Pvy6OUg6Oft5fHgICLP5fDx7u3g6/zt7uPuIOrw5eTo8u7i4O3o/yI=
-
> и пришло вот такое : zvLq8Pvy6OUg6Oft5fHgICLP5fDx7u3g6/zt7uPuIOrw5eTo8u7i4O3o/yI=
>
Все правильно Просто надо после приема сделать
DecodeString
-
а как же это сделать если у каждого пользователя свой почтовый клиент, я батом пользуюсь, а ктото Аутглюком :)
-
> сделал так Form1.IdMessage1.Subject := EncodeString ('Открытие');
>
> и пришло вот такое : zvLq8Pvy6OUg6Oft5fHgICLP5fDx7u3g6/zt7uPuIOrw5eTo8u7i4O3o/yI=
>
а, не досмотрел. Я ж вам в [1] писал, что надо присваивать.
-
у меня наверное инди какойто не такой, у меня нет модуля IdEncoderMIME (((((
-
> [22] Yurij-7 (30.01.08 18:20)
Конечно не такой :)
Ты не понимаешь что делает EncodeString и зачем
-
uses ..., EncdDecd, ....;
Form1.IdMessage1.Subject := '=?windows-1251?B?' + EncodeString ('вот моя тема') + '<>?=';
-
> [24] umbra © (30.01.08 18:26)
А зачем "<>"
-
супер, убрал "<>" и все вышло
огромное спасибо за помощь, чесно, очень признателен !
в примерах все так красиво пишут но когда берешь практику выход все не так :)))
-
если не трудно то подскажите еще такой момент
делаю так
Form1.IdMessage1.ContentType := 'text/html; charset=windows-1251';
но когда в атач прикладываю 2 рисунка или текстовика и 1 htm файл, то он по умолчанию не открываеться в почтовом клиенте, надо самому открывать, а как сделать что бы сообщение было в виде вэбстранички ?
-
> [27] Yurij-7 (30.01.08 18:36)
Content-Type: multipart/mixed; boundary="--NextPart--"
This is a multi-part message in MIME format.
--NextPart--
Content-Type: application/octet-stream;
name="test.ext"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.ext"
UEsDBBQAAgAIABBolyo7/YSyEwkAAMIgAAAIAAAAZGF0YS5odG2tWltv21YSfk6B/odZF7tIC114
l+UjE3AduzZgr4VEQFvAL7rQFhFa1FJ03GyRX7Q/YV+ybR+KdIM2QRbbl2IZWbRlXWiKarIb2IU6
...
изучай RFC
-
> А зачем "<>"
>
это ошибка в днк :)
-
ну насколько я понял то отправитель и тема сообщения это в одной части сообщения и кодируются одним способом, а атачмент это другая часть сообщения и надо кодировать другой кодировкой ?
-
> Yurij-7 (30.01.2008 18:49:30) [30]
Без RFC тебе удачи не видать, будешь тыкаться в потемках и даже не понимать ответов и кода.
-
ок, спасибо, буду изучать
-
> но когда в атач прикладываю 2 рисунка или текстовика и 1
> htm файл, то он по умолчанию не открываеться в почтовом
> клиенте, надо самому открывать, а как сделать что бы сообщение
> было в виде вэбстранички ?
>
именно это подробно описано в рфц 1872. Там и примеры есть.
-
> но когда в атач прикладываю 2 рисунка или текстовика и 1
> htm файл, то он по умолчанию не открываеться в почтовом
> клиенте, надо самому открывать, а как сделать что бы сообщение
> было в виде вэбстранички ?
Никак, в виде странички изображения отдельны от таблицы, это означает, что у тебя должно быть минимум три письма, и картинки должны быть сохранены на диск, а оригинальное письмо должно быть отредактировано.
Картинки в письме не передаются как вебстраничка, а как вебархив, кроме случаев, когда картинки вообще не передаются, а тебя за ними заставляют лезть в Интернет.
Читай RFC, иначе так и останешься дураком.
RFC это честь, ум и совесть программиста.
-
:) спасибо
буду изучить