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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Прикрепление файла, SMTP  (Прочитано 6211 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Robin Hood PHD
Гость
« : 22-01-2008 12:42 » 

Доброго времени суток! 

Возникла идея написать небольшую и простую программку для рассылки шпор/билетов итп одногруппникам на email.
Проблема в том, что в основном приходится пересылать файлы, а не просто текст письма (с отсылкой которого все ясно). В связи с этим проблема, как прикрепить к письму файл? Предполагается использовать для такой рассылки ак на mail.ru.  Скромно так...

Заранее благодарен.
Записан
RXL
Технический
Администратор

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

WWW
« Ответ #1 : 22-01-2008 14:40 » 

Robin Hood PHD, рассылка на content.mail.ru никак с программированием не связана - это чисто прикладной уровень: приложение знаний к делу, а пальцев - к кнопкам мыши.

Если ты о программном формировании письма, то стоит почитать соответствующий RFC - 2822 (Internet Message Format) и 2045 (MIME). И довольно много смежных.
Основная суть - в объявлении типа multipart, задании ограничивающей строки (boundary) и кодировании бинарных данных в base64.

Вот реальный пример:
Код:
To: $MAILTO
From: $MAILFROM
Subject: Reports
Content-type: multipart/mixed;
    boundary="$SEPARATOR"

This is a multi-part message in MIME format.

--$SEPARATOR
Content-type: text/plain; charset=windows-1251
Content-Transfer-Encoding: 8bit
Content-disposition: inline

...message...
--$SEPARATOR
Content-type: application/vnd.ms-excel; charset=windows-1251
Content-transfer-encoding: base64
Content-disposition: attachment;
    filename="${FILENAME1}.txt"

...base64 encoded data...
--$SEPARATOR
Content-type: application/vnd.ms-excel; charset=windows-1251
Content-transfer-encoding: base64
Content-disposition: attachment;
    filename="${FILENAME2}.txt"

...base64 encoded data...
--$SEPARATOR--

Формируя подобный текст bash-скриптом я отправляю его напрямую в sendmail.
Записан

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines