Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

idMessage Subject/From ISO-8859-1   Найти похожие ветки 

 
Прогер   (2007-01-04 09:37) [0]

Каким образом указать кодировку в поле "Тема"? Всегда получается Subject: =?ISO-8859-1? ... . А мне нужна windows-1251


 
umbra ©   (2007-01-04 10:45) [1]

так и написать. Если не ошибаюсь,
=?windows-1251?B?{текст в Base64}=


 
Прогер   (2007-01-04 11:19) [2]


> так и написать. =?windows-1251?


Я работаю с компонентом idSMTP. Вопрос в том, как это записать? В свойство "Тема" пишется тема письма без указания кодировки - просто текст, как в почтовике. А компонент самостоятельно генерирует значение поля "Subject" в заголовке сообщения. Вопрос: как повлиять на этот процесс? Сама кодировка ISO-8859-1 (она же Latin-1) не поддерживает кириллицу (однако Outlook каким-то чудом отображает всё правильно, а вот TheBat показывает крякозябру).


 
umbra ©   (2007-01-04 11:50) [3]


> пишется тема письма без указания кодировки - просто текст,
>  как в почтовике

согласно стандарту в теме могут быть только печатные символы с кодами  меньше 128 (за исключением пробела и нек-рых других символов). Чтобы правильно отображалась тема на, допустим, русском языке (т.е. в которой есть символы с кодами больше 127) напишите туда не просто текст, а =?windows-1251?B?{ваша тема в Base64}=


 
Прогер   (2007-01-04 13:34) [4]


function SendLetter(ARecpt, AReplyTo, AFromName, ACopy, AHdnCopy, ASubj: string; ABody, AAtthFls: TStringList; ASMTPHost: string; ASMTPPrt: integer; AUser, APassw: string): boolean;
var
 i: integer;
 SMTP: TIdSMTP;  
 Msg : TidMessage;
begin
 SMTP:= TIdSMTP.Create(NIL);
 Msg:= TIdMessage.Create(NIL);
 
 with SMTP do begin
   Host:= ASMTPHost;
   Port:= ASMTPPrt;
   Username:= AUser;
   Password:= APassw;
   Connect(5000);
   with Msg do begin
     AddHeader("X-Mailer: Mail sender 1.0");
     with TIdEncoderMIME.Create(NIL) do begin
       ASubj:= Encode(ASubj);
       AFromName:= Encode(AFromName);
       Free;
     end;  

     ExtraHeaders.Add("Subject: =?windows-1251?B?" + ASubj + "=?=");
     ExtraHeaders.Add("From: =?windows-1251?B?" + AFromName + "=?= <" + AReplyTo + ">");
     Body.Text:= " ";
     CharSet:= "windows-1251";
     ContentType:= "text/html";
     Recipients.EMailAddresses:= ARecpt;
     ReplyTo.EMailAddresses:= AReplyTo;
     CCList.EMailAddresses:= ACopy;
     BccList.EMailAddresses:= AHdnCopy;
     for i:= 0 to AAtthFls.Count-1 do
        TIdAttachment.Create(MessageParts, AAtthFls[i]);
   Send(Msg);
   Disconnect;
   Free;
 end;
 
 Msg.Free;

 Result:= True;
end;


Поля "Тема", "От" заполнять я начился, спасибо! Теперь их читает как Outlook, так и TheBat.

Теперь вопрос по телу письма. TheBat читает всё хорошо, можно даже не указывать тип содержимого и кодировку. А вот Outlook показывает крякозябру. И непонятно, как в Indy указать, какое содержимое и в какой кодировке ты отправляешь. Подскажите, плиз!


 
umbra ©   (2007-01-04 15:02) [5]

если Вы хотите добавить к письму хтмл, то надо добавить еще одну MessagePart, указать правильный контент-тип и в тело добавить код хтмл


 
Прогер   (2007-01-05 06:40) [6]


     idtTextPart := TIdText.Create(MessageParts, NIL);
     idtTextPart.ContentType := "text/plane; charset=windows-1251";
     idtTextPart.Body.Text := "Собственно сообщение";


Получаем письмо, в котором нет этого текста:

Return-Path: <>
Delivered-To: 27-gennady@manager.kz
Received: (qmail 12073 invoked from network); 5 Jan 2007 09:30:19 +0600
Received: from smtp.ducat.kz (HELO ducat.kz) (212.116.224.170)
 by 87.247.20.75 with (DES-CBC3-SHA encrypted) SMTP; 5 Jan 2007 09:30:19 +0600
X-SpamCatcher-Score: 2 [X]
Received: from [212.116.244.202] (HELO man_05_xp)
 by ducat.kz (CommuniGate Pro SMTP 5.1c.5)
 with ESMTP id 117699; Fri, 05 Jan 2007 09:30:32 +0600
X-Mailer: Mail sender 1.0
To: test@mediasystem.kz
Content-Type: multipart/mixed; boundary="=_NextPart_2rfkindysadvnqw3nerasdf"
MIME-Version: 1.0
Reply-To: test@mediasystem.kz
Date: Fri, 5 Jan 2007 09:33:09 +0600
X-Priority: 3
X-Library: Indy 9.00.10
Subject: =?windows-1251?B?0ODx8fvr6uAg7uHn7vDu4g===?=
From: =?windows-1251?B?0ODx8fvr/Pno6iDu4efu8O7iIDE==?= <test@mediasystem.kz>
Message-ID: <auto-000000117699@ducat.kz>
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on node1.webspace.kz
X-Spam-Level: ****
X-Spam-Status: No, hits=4.3 required=7.0 tests=MIME_BOUND_NEXTPART,
       MIME_BOUND_RKFINDY,X_LIBRARY autolearn=no version=2.63

--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: application/octet-stream;
       name="555_03-01-2007~11-31-14.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
       filename="555_03-01-2007~11-31-14.rar"

UmFyIRoHAM+QcwAADQAAAAAAAAA8gHQgkm4AoQAAAEYKAAACFHkBhtxbIzYdNUkAIAAAAERnc3RT
ZW5kZXJcX0dlbmVyYWxGb2xkZXJcNTU1XJKu56XnreupIOCo4eOtrqouYm1wAAT1HICQRzVVRz1L
ORcgQDiAYPCBkAIA8FxCMQgYzMm+EW/9dyejwR7PgT4A8Hm+/+OKVl7LkQwOc3Z2T/hQwYpCEs11
L41boGmu+118BxSWyX4KGwyxYTYv25cdp2H+Kts+phJ7nqPNDHykON2uRu7SB8TADAPgkCBCFh7r
0Gql0MOlgBoy2+oigWT8sdZRcPmLgDcSvq56pPOaXjP6DHR6J8pTAuuEM0xZXsqnn5ixokjJ3Y/H
//BqrFOixD17AEAHAA==

--=_NextPart_2rfkindysadvnqw3nerasdf--


 
Anatoly Podgoretsky ©   (2007-01-05 09:57) [7]

Информация принята к сведенью, но она не несет никакой практической пользы, мало ли у кого нет текста.


 
umbra ©   (2007-01-05 11:00) [8]


> Content-Transfer-Encoding: 7bit

это значит, что разрешены только символы с кодами меньше 128. Ваша фраза состоит из русских символов с кодами больше 127.


 
Anatoly Podgoretsky ©   (2007-01-05 13:22) [9]

> umbra  (05.01.2007 11:00:08)  [8]

Если бы это был вопрос, то я бы указал в чем проблема.
А так нежданным советчикам дают по шее.
Информация просто принята для сведенья, интереса не представляет.


 
Прогер   (2007-01-05 13:26) [10]


> не несет никакой практической пользы, мало ли у кого нет
> текста.

Это Вы к тому, что мне заняться нечем и вылез на форум?


 
umbra ©   (2007-01-05 13:32) [11]

Это Anatoly Podgoretsky © к тому, что в постах надо обрисовывать проблему и задавать вопросы


 
Anatoly Podgoretsky ©   (2007-01-05 13:39) [12]

> Прогер  (05.01.2007 13:26:10)  [10]

Кому же еще, тебе конечно.


 
Anatoly Podgoretsky ©   (2007-01-05 13:39) [13]

> umbra  (05.01.2007 13:32:11)  [11]

Вопроса нет, есть константация факта, а это лучше в другую конференцию, в Прочее. Там и посмеемся.


 
Прогер   (2007-01-05 13:50) [14]

Ну что ж... Модератору: просьба удалить тему.


 
umbra ©   (2007-01-05 14:01) [15]

2 Прогер   (05.01.07 13:50) [14]

не стоит так горячиться. но лучше, все же, задавать конкретные вопросы

--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain; charset=windows-1251
Content-transfer-encoding: base64 // или quoted-printable
//дальше идет соответствующим образом кодированный текст
--=_NextPart_2rfkindysadvnqw3nerasdf



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.042 c
5-1147344578
q-q
2006-05-11 14:49
2007.01.28
Как сделать DBGrid - наследник TGraphicControl


2-1168630655
Moholith
2007-01-12 22:37
2007.01.28
Поиск фрагментов строки и фрагментов слова.


9-1142617297
rkpd
2006-03-17 20:41
2007.01.28
Как сделать, чтобы человечек "бегал" красиво?


15-1167987761
0x07BBh
2007-01-05 12:02
2007.01.28
Началась сессия


15-1168249479
Parus
2007-01-08 12:44
2007.01.28
ASP VBSCRIPT





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский