Главная страница
    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.032 c
15-1167800015
Pas
2007-01-03 07:53
2007.01.28
Как перевести на Паскаль ?


2-1168483395
Bogdan1024
2007-01-11 05:43
2007.01.28
TButton.OnKeyUp


15-1168381360
Bogdan1024
2007-01-10 01:22
2007.01.28
Генерирование документов


15-1168037962
ANTPro
2007-01-06 01:59
2007.01.28
Спам на DM


15-1167737396
cmp
2007-01-02 14:29
2007.01.28
md5 коллизии





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский