Форум: "Сети";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
ВнизОтправка мыла , кодировки Найти похожие ветки
← →
ShuraKh (2002-08-22 13:40) [0]Значится требуется отправить мыло без вложения...
При этом хочется:
CharSet: koi8-r
ContentTransferEncoding: base64
text/plain
Было испытано 2 варианта.
1. компонент TNMSMTP
koi8-r в заголовок кладет а сам текст идет в исходной кодировке
в base64 кодировать не умеет.
2.IIdSMTP и TIdMessage
позволяет указать base64 но,
создает заголовок вида (отрывок):
Subject: =?ISO-8859-1?Q?=C2=FB =E2=EA=EB=FE=F7=E5=ED=FB =E2
=F1=EF=E8=F1=EE=EA =F0?=
=?ISO-8859-1?Q?=E0=F1=F1=FB=EB=EA=E8?=
To: xxx@xxx.ru
Content-Type: text/plain;koi8-r
Content-Transfer-Encoding: base64
при этом боди пустой.
Есть подозрение что надо хитро устанавливать проперть NoDecode...
Заранее спасибо!
← →
NBLR (2002-08-27 14:18) [1]Для компонента NMSmtp и перекодировки Body я использую следующий нехитрый код:
//процедурка для перевода из Win1251 в Koi8-r
function TForm1.KOI8Encode(TempString:string):string;
var f,g:Integer;
KOI8Symb:string;
Win1251Symb:string;
begin
Win1251Symb:="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
KOI8Symb:="бвчзде?цъйклмнопртуфхжигюыэящшьасБВЧЗДЕ?ЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС";
for f:=0 to Length(TempString) do
for g:=0 to 66 do
begin
if (TempString[f]=Win1251Symb[g])then begin TempString[f]:=KOI8Symb[g];break;end;
end;
result:=TempString;
end;
И все вроде бы в порядке, но вот заголовки...
Дело в том, что NOVELL`овский почтовик на той стороне почему-то пишет каракули даже вместо перекодированных заголовков, хотя сам
текст body читается нормально.
Попробовал поставить в поля From и Subject строку
"=?koi8-r?B?=" перед самим текстом-заголовки стали читабельны, но
зато и вышеупомянутый фрагмент тоже виден... На мой взгляд это выход, если удастся скрыть его. Но как его скрыть?...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c