Текущий архив: 2006.11.26;
Скачать: CL | DM;
Вниз
TIdMessage не могу получить текст письма ! Найти похожие ветки
← →
312kbps (2006-11-08 14:25) [0]mail: TIdMessage;
...............
memo.Lines.AddStrings(mail.Body);
но текст письма я не вижу, вместо теска -
"This is a multi-part message in MIME format."
как это иправить ?
← →
Anatoly Podgoretsky © (2006-11-08 14:35) [1]> 312kbps (08.11.2006 14:25:00) [0]
Это и есть текст письма, это первая (псевдо) часть, это одназначно говорит, что у тебя есть и другие части. Их тоже надо прочитать, а не только первую.
← →
Anatoly Podgoretsky © (2006-11-08 14:36) [2]> 312kbps (08.11.2006 14:25:00) [0]
Ах да, забыл главное, ошибка у тебя не то что в 17 строке, а конкретно в точках.
← →
app © (2006-11-08 14:37) [3]Делаю очередное исключение, не закрывают ветку как офтопик, а пересылаю ее в Начинающие, Сетей она не заслуживает, но не думай что это буду делать в следующий раз.
← →
312kbps (2006-11-08 14:40) [4]Как мне получить другие части текста письма ?
← →
Anatoly Podgoretsky © (2006-11-08 14:49) [5]> 312kbps (08.11.2006 14:40:04) [4]
Сказали же ошибка в точках, там ищи и не заставляй нас заниматься телепатией.
← →
312kbps (2006-11-08 14:58) [6]if IdPOP3.Connected Then IdPOP3.Disconnect;
IdPOP3.Host := "хост";
IdPOP3.Username := "логин";
IdPOP3.Password := "пароль";
IdPOP3.Connect();
i:=IdPOP3.CheckMessages;
memo.Lines.Add("Всего писем : "+IntToStr(i));
memo.Lines.Add("");
if i>0 then
if IdPOP3.Retrieve(i,mail) then
begin
memo.Lines.Add("Кому: "+mail.From.Address);
memo.Lines.Add("От кого: "+mail.Recipients.EMailAddresses);
memo.Lines.Add("Тема: "+mail.Subject);
memo.Lines.AddStrings(mail.Body);
end;
Не пойму про какие точки Вы гворите ?
текст приема письма, как правильно получить текст письма ?
← →
312kbps (2006-11-08 15:23) [7]Если я правильно понял, то количество частей текста пиьсма получается -
mail.MessageParts.Count
Как спозицироваться на другой части ?
mail.MessageParts.Items[1] - так не получается (
← →
Anatoly Podgoretsky © (2006-11-08 15:28) [8]Смотри справку по TIdMessage, мне ее смотреть неинтересно, поэтому сказать как не могу.
← →
312kbps (2006-11-08 15:38) [9]Anatoly Podgoretsky
ОГРОМНОЕ ТЕБЕ СПАСИБО , проФФФесионал Анатолий !
Спасибо что не откзал в помощи !
← →
Anatoly Podgoretsky © (2006-11-08 15:54) [10]> 312kbps (08.11.2006 15:38:09) [9]
Сказал как есть, это относится к свойствам и методам IdMessage справка у тебя есть, зачем мне смотреть неинтерсующую тебя тему. Причину я тебе указал, теперь твоя очеред приложить руки. Вот если будут более конкретные вопросы, а не смотреть справку, то возможно еще что ни будь напишу.
Но у тебя есть возможность стать в позу обиженного, потребовать код, послать меня в эротическое путешествия и т.д. или отнестись конструктивно.
← →
312kbps (2006-11-08 16:02) [11]Хорошо , конкретные вопросы )))
с MessageParts разобрался
memo.Lines.AddStrings(TIdText(mail.MessageParts.Items[1]).Body);
но вместо нормального текста с рускими буквами, какой-то набор букв и иероглифоф
как мне кодировку изменить или что с этим сделать ?
← →
umbra © (2006-11-08 16:18) [12]так надо проверять тип части сообщения. Это может быть, например, прицепленный файл. Надо проверять способ кодирования части. Это может быть plain(простой текст), Base64 или QuotedPrintable. В двух последних случаях надо часть декодировать перед тем как в мемо совать.
← →
312kbps (2006-11-08 16:43) [13]я в своем почтовом клиенте создаю письмо, набираю произволный текст и отправляю себе.
этой прогой я получаю письмо и пытаюсь прочесть текст !
ни каких файлов я не прикрепляю.
Как декодировать перед тем как в мемо совать ?
← →
312kbps (2006-11-08 16:45) [14]проверку делаю так
if mail.MessageParts.Items[1] is TIdText then
memo.Lines.AddStrings(TIdText(mail.MessageParts.Items[1]).Body);
← →
umbra © (2006-11-08 17:00) [15]а св-во
IdMessage.Charset
чему равно?
← →
312kbps (2006-11-08 17:22) [16]mail.CharSet:="koi8-r"; пробовал windows, тоже не помагает (
а потом весь текст ввиде html, все в тегах (
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=koi8-r">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
......."
← →
umbra © (2006-11-08 17:32) [17]так все у Вас работает. Это и есть тело вашего сообщения. Просто мемо умеет отображать только текст, а хтмл для него - слишком сложно
← →
312kbps (2006-11-08 17:36) [18]хорошо, я в своем клиенте настроил чтоб исходящее сообщение было ввиде текста, все равно абра-кадабра ))) приходит !
если текст ввиде хтмл, как его можно прочитать просто как текст ?
← →
stone © (2006-11-08 17:50) [19]
> а потом весь текст ввиде html, все в тегах (
Не весь есть такая же часть (MessagePart) без тегов, только абракадабра от этого не исчезнет, нужно перевести символы в нужную кодировку. Для этого есть несколько способов - самы простой банальная замена символов в цикле.
← →
312kbps (2006-11-08 17:54) [20]не понял )))
в какой части MessagePart можно без тегов ?
цикл это не серьезно, можно же как-то програмными средствами поменать кодировку, а вот как ????
← →
stone © (2006-11-08 18:03) [21]
> в какой части MessagePart можно без тегов ?
Их несколько, при хтмл-формате письма оно обязательно MIME, обычно при разборе MessageParts сначала идет MessagePart без тэгов, а потом с тэгами. Таких частей может быть несколько, особенно если письма с вложениями и т.д.
> цикл это не серьезно, можно же как-то програмными средствами
> поменать кодировку, а вот как ????
есть что-то типа TidDecoder, но я сейчас не вспомню всех тонкостей работы с ним
← →
Ketmar © (2006-11-08 18:47) [22]вообще-то никакого надёжного варианта кроме разбора html руками нет.
← →
Anatoly Podgoretsky © (2006-11-09 00:03) [23]> 312kbps (08.11.2006 17:54:20) [20]
> в какой части MessagePart можно без тегов
Тебе же дали URL по теории сетей для того, что бы его читал.
В части text/plain
← →
312kbps (2006-11-09 09:54) [24]в самой первой части MessagePart находится текст тела письма, без тегов
но вот с кодировкой ни чего не входит (((
← →
312kbps (2006-11-09 10:14) [25]mail.CharSet:="multipart/alternative; boundary="----=_NextPart_000_0283_01C703E7.6E28E110""
это как понимать ?
может это помочь в декодировании текста ?
← →
Anatoly Podgoretsky © (2006-11-09 10:20) [26]> 312kbps (09.11.2006 09:54:24) [24]
> в самой первой части MessagePart находится текст тела письма, без тегов
Предположение дикое, не подтвержденное ни RFC ни писателями и самое главное никогда не выполняемое, ну если только не напишешь кривого писателя, который полностью плевал на RFC
Но тогда я сомневаюсь, что эти сообщения кто то будет понимать.
← →
Anatoly Podgoretsky © (2006-11-09 10:21) [27]> 312kbps (09.11.2006 10:14:25) [25]
Ну так и понимай - буква в букву - это просто RFC заголовок, в котором только латинские буквы,
а конкретный вопрос?
← →
Anatoly Podgoretsky © (2006-11-09 10:23) [28]
> как мне кодировку изменить или что с этим сделать
Изменить с помощью процедур перекодировки.
не меняя - указать кодировку, в том предмете, про который ты спрашиваешь.
← →
Anatoly Podgoretsky © (2006-11-09 10:25) [29]
> цикл это не серьезно, можно же как-то програмными средствами
> поменать кодировку
Если не нравится цикл, то используй таблицы перекодировки или чужие функции без исходного текста.
← →
312kbps (2006-11-09 10:25) [30]практически ни чего не понял (((
что такое RFC ?
действительно из первой части MessagePart дастается только текст без тегов
но вот как с кодировкой разобраться, я так и не понял, даже не понял в каком нарпавлении искать, работать !
← →
Anatoly Podgoretsky © (2006-11-09 10:28) [31]Зря ты в сети полез, предварительно не поинтересовавшись теорией.
RFC - Request For Comments
← →
312kbps (2006-11-09 10:31) [32]да почему в сети - то ?
принимаю письмо и всего лишь хочу чтоб текст письма был читабельным
я так понимаю (может и ошибаюсь) , что в этом ни чего сложного нет, просто я не знаю (даже понятия не имею) как это декодировать ! :-(
← →
Anatoly Podgoretsky © (2006-11-09 10:32) [33]
> но вот как с кодировкой разобраться, я так и не понял
А вот теперь тебя не понять, в такой постановке вопрос слишком обширный, можно говорить на любые темы, можно говорить и телепатировать что ты так и не понял.
← →
312kbps (2006-11-09 10:35) [34]как текст письма -
"õÒÁ! HÁÍ ÐÒÅÄÌÏÖÉÌÉ ËÒÕÐÎÙÊ ËÏÎÔÒÁËÔ ÎÁ ÐÏÓÔÒÏÊËÕ 12-ÜÔÁÖÎÏÇÏ
ÖÉÌÏÇÏ ÄÏÍÁ. õ ×ÓÅÈ ÂÕÒÎÙÊ ÜÎÔÕÚÉÁÚÍ. ÷ÙÐÉÌÉ ÎÁ ÒÁÄÏÓÔÑÈ 2 ÑÝÉËÁ
ÐÉ×Á."
перевести в нормальный читабельный вид -
"Ура! Hам предложили крупный контракт на постройку 12-этажного
жилого дома. У всех бурный энтузиазм. Выпили на радостях 2 ящика
пива.
"
← →
Anatoly Podgoretsky © (2006-11-09 11:05) [35]> 312kbps (09.11.2006 10:31:32) [32]
Оно и так читабельно, ничего делать не надо. Надо научиться пользоваться почтовым клиентом.
Декодировать это просто Ch := Tbl[Ch];
← →
Anatoly Podgoretsky © (2006-11-09 11:07) [36]> как текст письма -
Укажи правильную кодировку в почтовом клиенте.
То что ты сюда послал перекодированию не подлежит.
← →
Anatoly Podgoretsky © (2006-11-09 11:09) [37]Если ты забыл ссылку, то повторяю http://book.itep.ru
Плюс поиск в Сети по слову RFC, неполный набор rfc есть на моем сайте, порядка 3500 штук, свежий в Сети.
← →
Ketmar © (2006-11-09 12:12) [38]>[32] 312kbps 9-Nov-2006, 10:31
>просто я не знаю (даже понятия не имею) как это декодировать ! :-(
три волшебных буквы: RFC. ага.
← →
312kbps (2006-11-09 14:24) [39]хоть бы один пример привели , как правильно (в читабельном виде) прочитать текст письма !
← →
Ketmar © (2006-11-09 14:54) [40]о. оно ещё и возмущается. не хотят, видите ли, бесплатно пахать на великого 312kbps. приведём. хоть 10, хоть сто. оплату озвучь только.
Страницы: 1 2 вся ветка
Текущий архив: 2006.11.26;
Скачать: CL | DM;
Память: 0.57 MB
Время: 0.051 c