Программная отсылка файлов с помощью Smtp
Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.
Насколько я понимаю файл каким-то образом преобразуется и передается в виде последовательности упорядоченных ANSI строк.
Интересно то что в стандарте RFC-821 ничего не сказано ни о том как передается вложенный файл ни о том какие параметры могут быть указанны в теле DATA (т.е. в теле самого сообщения). В частности о таких вещах как поля From, Date, Received и.т.д. приходится догадываться по примерам SMTP диалогов в RFC-821.
Таким образом может кто-то посоветует мне ссылки на документы описывающие нужные мне темы, или посоветует мне в каком направлении мне нужно искать.
Заранее спасибо за любой ответ.
Цитата:
Originally posted by rarelang
Всем привет,
Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.
Всем привет,
Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.
Можно использовать UUENCODE или BASE64.
Как выглядит аттачмент в письме, можно увидеть, если прислать самому себе е-мылом письмо с аттачментом и посмотреть его исходник (view source).
А про алгоритм кодирования в BASE64 можно почитать здесь , здесь или здесь.
Цитата:
Originally posted by rarelang
Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.
Насколько я понимаю файл каким-то образом преобразуется и передается в виде последовательности упорядоченных ANSI строк.
Интересно то что в стандарте RFC-821 ничего не сказано ни о том как передается вложенный файл
[...skip...]
Подскажите мне пожалуйста каким образом к электронным сообщениям передаваемым с использованием SMTP протокола можно программно (в коде на C++) приаттачить файл.
Насколько я понимаю файл каким-то образом преобразуется и передается в виде последовательности упорядоченных ANSI строк.
Интересно то что в стандарте RFC-821 ничего не сказано ни о том как передается вложенный файл
[...skip...]
Если я правильно понял, то необходимо всего лишь отправить файл по SMTP, а не разбираться стонкостями MIME-кодирования. Если так, то есть же у компонента TNMSmtp, свойство Attachments.
NMSMTP1->PostMessageA->Attachments->Add("Path_and_name_of_attachment_file");
Файл автоматически кодируется в MIME, или uuCode, в зависимости от значения свойства EncodeType.
Цитата:
Originally posted by Rexus
Если я правильно понял, то необходимо всего лишь отправить файл по SMTP, а не разбираться стонкостями MIME-кодирования. Если так, то есть же у компонента TNMSmtp, свойство Attachments.
Если я правильно понял, то необходимо всего лишь отправить файл по SMTP, а не разбираться стонкостями MIME-кодирования. Если так, то есть же у компонента TNMSmtp, свойство Attachments.
Если всё же хочется обойтись без VCL, есть такая дока по RFC-1521 (MIME) (не буду лукавить, её я поисковиком нашёл).