Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по отправке сообщения [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).
Много вопросов решится.


Наверх

Титульная страница Поиск, карта сайта Написать письмо