Delphi7, Indy9.0 - отправка почты
От: MAY75  
Дата: 22.09.03 16:09
Оценка:
При отправке собщения, у которого ContentType='text/html' сообщение отправляется в html-формате, но если к нему приаттачен файл, то отсылается в plain-формате.
Подскажите, почему так происходит и как сделать, чтобы приаттаченный файл не изменял формата сообщения.

Заранее благодарен,
Александр
Re: Delphi7, Indy9.0 - отправка почты
От: akasoft Россия  
Дата: 22.09.03 18:11
Оценка:
Здравствуйте, MAY75, Вы писали:

MAY>Подскажите, почему так происходит и как сделать, чтобы приаттаченный файл не изменял формата сообщения.


MIME надо пользовать, см. соответствующий RFC 2045-2049. Очень советую почитать.

А после этого врубить соображалку и поставить такой эксперимент: сохранить из своего ящика какое-нить письмо (желательно с вложением или с письмом в формате HTML) на диск в формате .eml , а потом открыть его каким-нибудь Far-ом, или даже Блокнотом. И станет ясно, что надо сделать, т.к. обнаружим там что-то вроде

...
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----------F4021828E49E45"

------------F4021828E49E45
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit

Приветы други.
И далее текст...
------------F4021828E49E45
Content-Type: application/octet-stream; name="1.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1.rar"

UmFyIRoHAM+QcwAADQAAAAAAAACB7nTggCEAAAAAAAAAAAACAAAAABNBKi8UMAEAEAAAADHstnTg
gCgAAAAAAAAAAAACAAAAAPelKS8UMAgAEAAAADFcX25vdGVztWN0IIA8AAQBAAAnAwAAAsHoc+TG
и далее вложение...

------------F4021828E49E45
Content-Type: application/octet-stream; name="2.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="2.rar"

UmFyIRoHAM+QcwAADQAAAAAAAAAOMHTggCEAAAAAAAAAAAACAAAAABhBKi8UMAEAEAAAADNBFnTg
gCkAAAAAAAAAAAACAAAAAPmlKS8UMAkAEAAAADNccG9sZXpub9gXdCCAMwAWEgAApmcAAALvZDII
и ещё вложение...
------------F4021828E49E45--


Теперь самое время соображалке начать догадываться...

Но это для бинарных файлов, с HTML-ками можно и попроще.

------------F4021828E49E45--
Content-Disposition: inline
Content-Length: 3427
Content-Transfer-Encoding: binary
Content-Type: text/html

<HTML>
<HEAD>
и далее другие нужные теги, только чтобы Content-Length был правильным!
------------F4021828E49E45--
... << RSDN@Home 1.1 beta 2 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.