Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кол. аттачей прикрепленных к файлу 
:(
    Опции темы
seferot
  Дата 31.3.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Всем привет!

Ребята подскажите пожалуйста, как можно узнать количество и имена файлов приаттаченных к файлу на mail cервере?


Вот к примеру, программа клиент посылает команду на сервер "retr 1", сервак начинает посылать письмо в текстовом виде, после чего программа-клиент считывает эти данные и сохраняет их в файл. 
  
Пример полученного файла:
Return-path: <[email protected]>
Received: from vingrad.ru by vingrad.ru (vingrad PRO v1)
    with ESMTP id md50000351719.msg
    for <[email protected]>; Fri, 20 Mar 2009 17:51:19 +0300
Authentication-Results: vingrad.ru
    auth=pass [email protected]
X-Spam-Processed: vingrad.ru, Fri, 20 Mar 2009 17:51:19 +0300
    (not processed: message from trusted or authenticated source)
X-Authenticated-Sender: [email protected]
X-Rcpt-To: [email protected]
X-MDRcpt-To: [email protected]
X-MDRemoteIP: 192.165.300.200
X-Return-Path: [email protected]
X-Envelope-From: [email protected]
X-MDaemon-Deliver-To: [email protected]
Date: Fri, 20 Mar 2009 18:00:25 +0300
From: =?windows-1251?Q?=C0=E2=F2=EE=EA=F0=E5=E4=E8=F2?= <[email protected]>
X-Mailer: The Bat! (v3.51.10) Professional
Reply-To: =?windows-1251?Q?=CA=F0=E5=E4=E8=F2=FB?= <[email protected]>
X-Priority: 3 (Normal)
Message-ID: <[email protected]>
To: avangard <[email protected]>
Subject: =?windows-251?Q?=E3=F0=E0=F4=E8=EA_=F0=E0=E1=EE=F2=FB_=ED=E0_=F1=EB=E5?=
    =?windows-1251?Q?=E4_=ED=E5=E4=E5=EB=FE?=
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="----------6489B2126CB78B"


Судя по  "boundary" значит уже есть приаттаченный файл! А сколько таких файлов может быть??? Как узнать их размер???
PM MAIL   Вверх
Matematik
Дата 1.4.2009, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



> Судя по  "boundary" значит уже есть приаттаченный файл! 

Неверно.
Это означает что письмо состоить из  нескольких частей (см. Content-Type: multipart/)
А сторка boundary только отделяет части друг от друга.
Например, если отправлять из Outlook Express письмо в html, программа сделает 2части: html и простой текст.
boundary  будет, а атачей нет.
У каждой части письма есть свой собственный заголовок (идет сразу после ----------6489B2126CB78B).
Так вот, вложеный файл имеет в заголовке строку типа: Content-Disposition: attachment; filename="filename.txt"

> А сколько таких файлов может быть???

Пройдись по всем кусочкам и найди с подходяшим заголовком attachment.
Или взять модуть из библиотеки Indy IdMessage.pas, там есть класс для разботы с eml файлом
Код

var
  m : TIdMessage;
  f : TIdAttachment;
  j : Integer;
begin
  m := TIdMessage.Create(nil);
  try
    m.LoadFromFile('mail.eml');
    for j:=0 to m.MessageParts.Count-1 do
    begin
      if m.MessageParts[j] is TIdAttachment then
      begin
        f := m.MessageParts[j] as TIdAttachment;
        f.SaveToFile(f.FileName);
      end
    end;

  finally
    m.Free;
  end;

PM MAIL WWW ICQ   Вверх
seferot
Дата 1.4.2009, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Про IdMessage.pas я уже думал, но у меня сомнения на этот счет. Должны быть ещё какие нить продвинутые способы...  smile 
PM MAIL   Вверх
Matematik
Дата 1.4.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



В ICS вроде есть что-то 
http://www.overbyte.be/frame_index.html?re...oducts/ics.html
PM MAIL WWW ICQ   Вверх
seferot
Дата 3.4.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



в ICS по моему вопросу нет ничего существенного...
PM MAIL   Вверх
seferot
Дата 4.4.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 13.9.2008

Репутация: нет
Всего: нет



Ребята, может кто знает где почитать про attachment на API можно. Сейчас придумываю сам, но пока функция не стабильна. Поиск аттача делаю сразу во время приема письма, и подсчитываю его размер.
Неужели нет подходящих решений, или инфы?!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.