Вниз
Скачать: CL | DM;

Отправка мыла , кодировки   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
3-92362
ppcat
2002-10-07 11:56
2002.10.28
MS SQL Server и dbf


3-92333
lak_b
2002-10-04 15:01
2002.10.28
Какая разница между Dataset.Refresh и последовательными (Close -


7-92752
alexsandri
2002-08-16 20:00
2002.10.28
» используя меню вызываемое посредством нажатия F8 при загрузке


4-92806
Denvor
2002-09-17 01:06
2002.10.28
Как поменять название кнопки


4-92791
Igor_thief
2002-09-14 13:23
2002.10.28
Dll




   Наверх