Я отправляю письмо с помощью NMSMTP в Delphi.
Всё получается хорошо, только отправляется оно в Windows кодировке, а по умолчанию во всех почтовых прогах KOI8-R.
Что делать, чтобы отправить в KOI8-R???
Здравствуйте, Paha007, Вы писали:
P>Я отправляю письмо с помощью NMSMTP в Delphi. P>Всё получается хорошо, только отправляется оно в Windows кодировке, а по умолчанию во всех почтовых прогах KOI8-R. P>Что делать, чтобы отправить в KOI8-R???
Здравствуйте, akasoft, Вы писали:
A>Здравствуйте, Paha007, Вы писали:
P>>Я отправляю письмо с помощью NMSMTP в Delphi. P>>Всё получается хорошо, только отправляется оно в Windows кодировке, а по умолчанию во всех почтовых прогах KOI8-R. P>>Что делать, чтобы отправить в KOI8-R???
A>Использовать перекодировку
A>
A> NMSMTP1.PostMessage.Body.Text := WinToKoi(memo2.text);
A>
спасибо, с этим всё понятно. Перекодировал без проблем. Только проблема не ушла. В заголовке письма есть такие строчки:
Date: 12/11/2003
Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii
X-Spam: Not detected
X-Spam: Not detected
В строке Charset= и пишется эта самая пресловутая кодировка. В ней вся загвоздка. Почтовая служба читает кодировку отсюда и автоматически декодирует послание.
Вопрос: как поменять название кодировки в этом месте????
P>спасибо, с этим всё понятно. Перекодировал без проблем. Только проблема не ушла. В заголовке письма есть такие строчки: P>Date: 12/11/2003 P>Mime-Version: 1.0 P>Content-Type: text/plain; charset=us-ascii P>X-Spam: Not detected P>X-Spam: Not detected
P>В строке Charset= и пишется эта самая пресловутая кодировка. В ней вся загвоздка. Почтовая служба читает кодировку отсюда и автоматически декодирует послание. P>Вопрос: как поменять название кодировки в этом месте????
Используй компонент TIdSMTP из библиотеки Indy. Charset там указывается в качестве свойства письма.
Здравствуйте, Paha007, Вы писали:
P>Date: 12/11/2003 P>Mime-Version: 1.0 P>Content-Type: text/plain; charset=us-ascii P>X-Spam: Not detected P>X-Spam: Not detected
P>В строке Charset= и пишется эта самая пресловутая кодировка. В ней вся загвоздка. Почтовая служба читает кодировку отсюда и автоматически декодирует послание. P>Вопрос: как поменять название кодировки в этом месте????
Если TPostMessage не содержит нужных свойств, то попробуй обмануть реальность: в HTML — теле письма внеси тег <META Name="Content-Type" Value = "text/html; charset=win1251"> и без отправляй без всякой перекодировки.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Если TPostMessage не содержит нужных свойств, то попробуй обмануть реальность: в HTML — теле письма внеси тег <META Name="Content-Type" Value = "text/html; charset=win1251"> и без отправляй без всякой перекодировки.
А не надо ли при этом указать MIME, boundary и т.п.? Плюс обычные тэги HTML-документа?
Типа, так:
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0027_01C37846.FF2737F0"
------=_NextPart_000_0027_01C37846.FF2737F0
Content-Type: text/plain;
charset="win1251"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
</HEAD>
<BODY>
Тут наш текст с тэгами оформления.
</BODY>
------=_NextPart_000_0027_01C37846.FF2737F0--
Здравствуйте, akasoft, Вы писали: A>А не надо ли при этом указать MIME, boundary и т.п.? Плюс обычные тэги HTML-документа?
А это вообще-то вроде как должен TPostMessage сам делать. У него там флажочек есть, который про тип контента. Если руками сразу с уровня MIME начинать, то лесом такие компоненты идут. Без них быстрее будет. А про обычные тэги вроде и так подразумевалось.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Всё дело в жирной строчке, в ней-то и указывается тип кодировки, проблема в том, что в стандартной Delphi-йской помощи этой функции вааще нет
А на самом деле она есть!
Здравствуйте, Paha007, Вы писали:
P>Спасибо всем! P>Нашёл-таки решение проблеы. P>... P>Всё дело в жирной строчке, в ней-то и указывается тип кодировки, проблема в том, что в стандартной Delphi-йской помощи этой функции вааще нет P>А на самом деле она есть!
Вот блин! Как вспомню, сколько я с этим делом парился! Нет чтобы заглянуть в заголовочный файл.