![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по отправке сообщения [D7, WinXP]
Sesh © (2008-03-04 09:25:00)Доброго утра всем.
Хочу отправить сообщение в формате html, пишу
MailMessage.ContentType:='text/html';
Отправляет все-равно как обычный текст, теги все не принимает, что еще ему надо указать?
Sesh (2008-03-05 12:52:00) [1]Все, спасибо за помощь, доразбирался, дописал кое что и получилось все ок.
emptybody := TIdText.Create(MailMessage.MessageParts, nil);
htmlbody := TIdText.Create(MailMessage.MessageParts, nil);
htmlbody.body.LoadFromFile('message3.html');
htmlbody.ContentType := 'text/html';
Sesh (2008-03-05 12:03:00) [2]Ну для 2-й части менять получается так:
MailMessage.MessageParts.Items[0].ContentType:='text/html'; - действительно меняет
а как же задать для тела сообщения если так
MailMessage.ContentType:='text/html' не задает
Смирнов (2008-03-05 11:38:00) [3]У тебя multi-part сообщение, т.е состоит из нескольких частей. Поэтому тип контента нужно устанавливать для конкретной части сообщения, как - не помню, посмотри свойства сообщения (частей).
Sesh (2008-03-05 11:30:00) [4]Все-равно приходит с
Content-type: text/plain
Content-transfer-encoding: 8BIT
Смирнов (2008-03-05 11:25:00) [5]
> Content-Type: text/plain
А говоришь нет заголовков, а это что?
Попробуй
IdMessage.NoEncode := false;
перед установкой ContentType.
Sesh (2008-03-05 11:13:00) [6]Я понимаю что смешно, поєтому прошу помощи.
В полученном письме у меня
Return-path: <.......>
Received: from SESH (.......)
by ...... (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14
2004)) with ESMTPA id <0JX800FI1ZJ9S5@.........> for
.............; Wed, 05 Mar 2008 09:59:36 +0200 (EET)
Date: Wed, 05 Mar 2008 09:59:36 +0200 (EET)
Date-warning: Date header was inserted by ..............
From: ..............
Sender: ..............
Message-id: <..............>
MIME-version: 1.0
Content-type: TEXT/PLAIN
Content-transfer-encoding: 8BIT
Original-recipient: rfc822;..............
content="text/html"
From: "Info" <..............>
Subject: Information
To: test@mail.ru
Content-Type: multipart/mixed;
boundary="=_NextPart_2rfkindysadvnqw3nerasdf";
charset="windows-1251"
MIME-Version: 1.0
Date: Wed, 5 Mar 2008 10:04:49 +0200
X-Priority: 3
X-Library: Indy 9.00.10
This is a multi-part message in MIME format
--=_NextPart_2rfkindysadvnqw3nerasdf
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Сергей М. (2008-03-05 11:03:00) [7]А у меня есть заголовки и файл не пустой.
Что я делаю неправильно ?
Sesh (2008-03-05 10:57:00) [8]Создает пустой файл, т.е нет там заголовков.
palva (2008-03-05 10:56:00) [9]Не менее тупой вопрос, а как вы получили письмо?
Если вы получили письмо в Outlook Express, то можно просто сохранить письмо на диск. Это будет текстовый файл с расширением eml. Первые строки будут заголовками. Они отделяются пустой строкой от тела письма. Это конечно, если письмо самое примитивное, без вложений и т. д. Другие почтовые клиенты тоже дают возможность посмотреть заголовки.
Сергей М. (2008-03-05 10:53:00) [10]
> где посмотреть заголовки?
IdMessage.Headers.SaveToFile
Sesh (2008-03-05 10:39:00) [11]Извените за тупой вопрос, а где посмотреть заголовки? Что необходимо еще отправлять?
palva (2008-03-05 10:23:00) [12]Sesh (05.03.08 10:17) [8]
Это данные письма, что называется body. Это понятно. Нужны заголовки, то есть те строчки, которые POP3 сервер посылает перед данными.
Sesh (2008-03-05 10:17:00) [13]ну собственно так:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=windows-1251"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title></title>
<style type="text/css"> </style>
<p style="margin-bottom: 0cm;">Внимение!</p>
<p style="margin-bottom: 0cm;">Вам направляется.... <br>
<font color="brown" size="3">Данное сообщение отправлено роботом!</font><br>
</p>
</body>
</html>
palva (2008-03-05 09:53:00) [14]
> разниці между MailMessage.ContentType:='text/html' и MailMessage.
> ContentType:='text/plain' просто никакой
Вы можете привести заголовки письма, которое приходит, в том и другом случае?
Заголовок Content-type там присутствует? Разница наблюдается?
Сергей М. (2008-03-05 09:12:00) [15]Приведи полныйтекст сообщения, а не этот огрызок
Sesh (2008-03-05 08:52:00) [16]Ребята, ну ничего так и не получается, разниці между MailMessage.ContentType:='text/html' и MailMessage.ContentType:='text/plain' просто никакой, отправляю так:
MailMessage.Recipients.EMailAddresses:='test@mail.ru';
MailMessage.ContentType:='text/html';
MailMessage.CharSet := 'windows-1251';
SMTP.Connect(1000);
SMTP.Send(MailMessage);
Что не так?
Sesh (2008-03-04 16:48:00) [17]вот жирным выделило, а если я ттправляю сообщение - то приходит с тегами а не меняет их на выделение
Sesh (2008-03-04 16:47:00) [18]Да не, имелось ввиду создать формат сообщения не текстовый а хтмл, если я отправлю сообщение типа
<font_ size=3 color="#800040"><b_>Привет</b_></font_>
_ подставил спецом
я в таком виде получу его, а мне надо его получить так
<font size=3 color="#800040"> Привет</font>
palva (2008-03-04 14:37:00) [19]
> что еще ему надо указать?
Ничего не надо указывать. У вас все получилось. html и есть обычный текст с заголовком
ContentType: text/html
Смирнов (2008-03-04 14:19:00) [20]
> теги все не принимает
это что означает?
Если речь об TIdMessage, то у него есть хороший метод SaveToFile.
Вместо отправки сохрани в файл и посмотри, что там в нем, чем он отличается от того, который тебе нужен (например созданный в Outlook).
Много вопросов решится.