Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: C++ Отправка почты с прикрепленным файлом  (Прочитано 9268 раз)
0 Пользователей и 1 Гость смотрят эту тему.
zlodei
Гость
« : 09-12-2009 17:54 » 

Народ, подскажите! Не могу додуматься.
Есть готовый самописный класс для работы с сокетами. Как отправить письмо, в инете и на форумах завались. А как файлик прикрепить? Есть варианты его открыть для чтения и считать в буфер. А как сказать, что этот текст надо как файл интерпретировать? Есть вариант сделать что-то типа того, что выдает The Bat! при запросе исходного текста письма с присоед. файлом. В общем народ, помогите пожалуйста!
« Последнее редактирование: 09-12-2009 19:06 от Sel » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 09-12-2009 18:00 » 

В статье про SMTP такое упоминание (но сам я не пробовал)
Цитата
Протокол был разработан для передачи только текста в кодировке ASCII, кроме того, первые спецификации требовали обнуления старшего бита каждого передаваемого байта. Это не даёт возможности отсылать текст на национальных языках (например, кириллице), а также отправлять двоичные файлы (такие как изображения, видеофайлы, программы или архивы). Для снятия этого ограничения был разработан стандарт MIME, который описывает способ преобразования двоичных файлов в текстовые. В настоящее время большинство серверов поддерживают 8BITMIME, позволяющий отправлять двоичные файлы так же просто, как текст.
http://ru.wikipedia.org/wiki/MIME
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 10-12-2009 19:19 » 

Выдержки из письма с вложениями:

Код:
Content-type: multipart/mixed;
    boundary="----separator"

Разделитель предваряется двумя минусами. После разделителя - на следующей строке - начинается заголовок очередной части письма. Часть заканчивается на следующем разделителе.

Это текст письма:
Код:
------separator
Content-type: text/plain; charset=windows-1251
Content-Transfer-Encoding: 8bit
Content-disposition: inline

.....

Это вложение:
Код:
------separator
Content-type: application/vnd.ms-excel; charset=windows-1251
Content-transfer-encoding: base64
Content-disposition: attachment;
    filename="channels_distribution.txt"

....

Финальный разделитель также предваряется "--", но еще и терминимуется "--":
Код:
------separator--

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines