Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программная отсылка файлов с помощью Smtp

589
03 июля 2004 года
rarelang
55 / / 08.05.2004
Всем привет,

Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.

Насколько я понимаю файл каким-то образом преобразуется и передается в виде последовательности упорядоченных ANSI строк.

Интересно то что в стандарте RFC-821 ничего не сказано ни о том как передается вложенный файл ни о том какие параметры могут быть указанны в теле DATA (т.е. в теле самого сообщения). В частности о таких вещах как поля From, Date, Received и.т.д. приходится догадываться по примерам SMTP диалогов в RFC-821.

Таким образом может кто-то посоветует мне ссылки на документы описывающие нужные мне темы, или посоветует мне в каком направлении мне нужно искать.

Заранее спасибо за любой ответ.
294
03 июля 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by rarelang
Всем привет,

Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.



Можно использовать UUENCODE или BASE64.
Как выглядит аттачмент в письме, можно увидеть, если прислать самому себе е-мылом письмо с аттачментом и посмотреть его исходник (view source).
А про алгоритм кодирования в BASE64 можно почитать здесь , здесь или здесь.

7.9K
03 июля 2004 года
Rexus
2 / / 03.07.2004
Цитата:
Originally posted by rarelang

Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.

Насколько я понимаю файл каким-то образом преобразуется и передается в виде последовательности упорядоченных ANSI строк.

Интересно то что в стандарте RFC-821 ничего не сказано ни о том как передается вложенный файл
[...skip...]



Если я правильно понял, то необходимо всего лишь отправить файл по SMTP, а не разбираться стонкостями MIME-кодирования. Если так, то есть же у компонента TNMSmtp, свойство Attachments.

NMSMTP1->PostMessageA->Attachments->Add("Path_and_name_of_attachment_file");

Файл автоматически кодируется в MIME, или uuCode, в зависимости от значения свойства EncodeType.

294
03 июля 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Rexus


Если я правильно понял, то необходимо всего лишь отправить файл по SMTP, а не разбираться стонкостями MIME-кодирования. Если так, то есть же у компонента TNMSmtp, свойство Attachments.


Если всё же хочется обойтись без VCL, есть такая дока по RFC-1521 (MIME) (не буду лукавить, её я поисковиком нашёл).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог