Показано с 1 по 6 из 6

Тема: Автопереименование аттачей… И снова о старом!

  1. #1
    shopen
    shopen вне форума
    Новичок
    Регистрация
    28.06.2004
    Сообщений
    4

    Автопереименование аттачей… И снова о старом!

    Здравствуйте господа.
    Прошу помочь разобраться с моей проблемой.

    Предпосылка такая. У нас в конторе есть некая файлообменная система. На сервере тоит программа-сервер, в которую надо добавлять некие файлы с базами , присылаемые клиетами. У клиентов стоит клиентская часть, которая эти файлы генерит, после чего пользователи на местах присылают их нам по эл. почте. Итогом на почтовый ящик приходит примерно 100-150 тысяч писем в год. Файлы имеют стандартное расширение, допустим *.ccf, причем имена могут быть совпадающими (например, если пользователь прислал несколько файлов за один день, они придут с одинаковыми именами, и тем не менее ОБА их надо обработать).
    Задача:
    В идеале, необходимо чтобы Бат анализируя почту, увидев что к письму прикреплен файл с РАСШИРЕНИЕМ ccf, например A1h6lb8.ccf, делал в специальной папке копию тела письма в любом виде, со упоминанием в ней, что такой то файл A1h6lb8.ccf прикреплен и лежит в том же каталоге, и, соответственно туда же клал сам attach не переименовывая. В случае дубля названия аттача переименовывал его, например, в A1h6lb8_2.ccf, и в копии тела письма прописывал именно ПЕРЕИМЕНОВАННЫЙ файл.
    Потом я напишу прогу которая это будет обрабатывать.
    Вот.
    Сразу прошу не шлите меня в поиск, искал… Если плохо искал то пошлите меня на конкретную ссылку.

    Мои попытки разобраться самостоятельно привели меня к неразрешимым проблемам
    Во- первых я не понял как сделать фильтр ПО РАСШИРЕНИЮ файла?
    То есть письма с приаттаченными *.* файлами остаются где были, а с *.ccf в отдельную папку.
    Во-вторых, навеянная поиском по форуму идея, включить обработку письма на лету, наткнулась на то, что Бат сначала забирает всю почту, и как следствие, если имена файлов в папке аттачментов совпали - то переименовывает их (напр. A1h6lb8.ccf, A1h6lb81.ccf, A1h6lb82.ccf, A1h6lb83.ccf). При этом в файле с телами экспортированных писем он оставляет первоначальные названия вложений (все - A1h6lb8.ccf). И только потом он запускает внешнюю программу для обработки каждого письма. Есстественно ни о каком соответствии уже речи быть не может.
    Помогите пожайлуста разобратся, а то уже всю бошку сломал.
    Может какаие другие идеи есть? А может программы. если в Бате это невозможно реализовать…

    Буду очнь благодарен. Заранее спасибо.

  2. #2
    Doctor
    Doctor вне форума
    Участник
    Регистрация
    21.02.2003
    Сообщений
    610

    Re:Автопереименование аттачей… И снова о старом!

    по поводу фильтра на заданное расширение: http://www.forum.nobat.ru/index.php?…;threadid=2411 -- должно помочь

    если имена файлов в папке аттачментов совпали - то переименовывает их
    Храни аттачи внутри почтовой базы

    Насчет всего остального могу порекомендовать почитать http://www.forum.nobat.ru/index.php?…;threadid=1846 и http://www.forum.nobat.ru/index.php?…;threadid=1282

  3. #3
    shopen
    shopen вне форума
    Новичок
    Регистрация
    28.06.2004
    Сообщений
    4

    Re:Автопереименование аттачей… И снова о старом!

    Спасибо. Но!!
    Мне нужно аттачи хранить отдельно, поскольку иначе придется придумывать как их выдирать и декодировать из тела письма. Может быть уже есть программки это умеющие? И вы про таки езнаете? Тогда дайте ссылку, плиззз…

    Вариант с запуском приложения и перекидыванием его в другой каталог, сгенеренным по дате, то же не очень, нужно будет делать рекурсивный обход, а это отдельный трабл, хотя это уже что-то…

    Блин, казалось бы - все просто, ведь Бат же может экспортировать письма и аттачи в отдельную папку, вот только переименовав аттачи, он не обновляет информацию о них в письмах… Обычная работа с элементарной базой данных, причем на примитивном уровне, тут только ж ссылочную целостность надо соблюсти… Блин.

    Может есть еще мысли… ?

  4. #4
    Doctor
    Doctor вне форума
    Участник
    Регистрация
    21.02.2003
    Сообщений
    610

    Re:Автопереименование аттачей… И снова о старом!

    иначе придется придумывать как их выдирать и декодировать из тела письма
    Это элементарно делается через сортировщик писем.

    Вообще, имхо, ты что-то либо усложняешь, либо я чего-то не понимаю… Что тебе на выходе-то надо?

    специальной папке
    На диске или в базе писем?
    копию тела письма в любом виде, со упоминанием в ней, что такой то файл A1h6lb8.ccf прикреплен и лежит в том же каталоге, и, соответственно туда же клал сам attach не переименовывая.
    Из этого вообще непонятно чего тебе надо… ??? Ну перекидывай письмо с аттачем в отдельную папку и всех делов. Оттуда и ататтач можно сохранить и текст письма почитать.

    Или тебе надо все аттачи сохранить по папкам на диске и на них натравить какую-нить другую прогу? Тогда сохраняй их в какую-нить и к названию добавляй время, напр, чтобы совпадений небыло. Или после каждого сохранения прогу твою натравливай…
    Короче гвооря, опиши четко, чего тебе надо в конечном итоге.

  5. #5
    shopen
    shopen вне форума
    Новичок
    Регистрация
    28.06.2004
    Сообщений
    4

    Re:Автопереименование аттачей… И снова о старом!

    Значит так. Приходит много писем. В каждом есть прикрепленный файл вида xxxxxxxx.ccf, где x - любая цифра или буква, но их порядок важен, поскольку в имени файла ЗАКОДИРОВАНО название организации, от которой это письмо пришло. На этот же ящик приходит другая почта, ее нужно отсеять. Это первый этап. Потом все письма с прикрепленными *.ccf нужно СКОПИРОВАТЬ в какую то заранее заведенную папку, причем в этой папке должно формироваться на каждое пришедшее письмо два файла - один с телом (body) письма, другой собственно *.ccf. Устроит и вариант, когда Бат создает один текстовый файл, в котором помещаются по очереди все письма со ссылками на аттачи, которые в виде файлов лежат в том же каталоге. Поскольку имена файлов *.ccf могут повторятся, более того фирма может в одном письме прислать два файла с одинаковым именем, например 124ad81c.ccf, но взятых при прикреплении из разных каталогов, то нужно, чтобы Бат найдя в папке с почтой такой файл, переименовывал новый, но в экспортированном теле письма тоже правил ссылку на переименованный файл. Вот. Это второй этап.
    Когда Бат все это сделает - наступит третий - я натравлю на эту папку прогу, которая откроет экспортированный файл txt, и поблочно его обработает, выдерет из него e-mail, сравнит его с тем что в базе на предмет совпадений, выдерет из него ссылку на ccf, откроет его, обработает, сгенерирует соответствующий ответ посылателю, перейдет к следующему блоку, и т.п. пока не обработает все ccf, после чего сотрет все содержимое папки, то есть копии ccf пакетов, и так до следующей почты. Работать все это должно и в том случае, если пришло одно письмо, и в том, если почта была недоступна несколько дней, после чего пришло писем 400 за раз, с совпадающими именами файлов ccf, или без этого.

    Вот. Может я усложняю, конечно, не знаю, но че то мне простого или хотя бы понятного решения пока не видится. А хотелось бы

  6. #6
    Doctor
    Doctor вне форума
    Участник
    Регистрация
    21.02.2003
    Сообщений
    610

    Re:Автопереименование аттачей… И снова о старом!

    Ok.
    Пробуем так:
    1. ну как отсеять письма с такими аттачамы мы знаем (ссылку я тебе давал)
    2. на это же правило вешаем:
    2.1. сохранение письма в формате txt с добавлением к существующему файлу
    2.2. сохранение аттача в какую-нить временную папку (ставим галку изменять имя, если такой файл уже есть)
    2.3. запуск бат-файла
    3. Бат-файл будет делать следующее:
    3.1. переименовывать сохраненные xxxxxxxx.ссf в <currentdata_currenttime>xxxxxxxx.ссf
    3.2. перенос файлов в целевую папку но не move *.* а через FOR для того, чтобы узнать имена файлов
    3.3. в конец файла с текстом писем добавляем (при помощи echo путь_к файлу >>текстовый файл) строку с сылкой на аттачи (имя файла мы знаем, целевую папку тоже)
    Собственно все.

Похожие темы

  1. Снова IMAP…
    от GG в разделе The Bat!: вопросы и ответы
    Ответов: 5
    Последнее сообщение: 03.02.2006, 10:28
  2. Alt-5 снова
    от Splinty в разделе The Bat!: вопросы и ответы
    Ответов: 9
    Последнее сообщение: 27.01.2006, 19:59
  3. И снова MS Outlook…
    от mamay1 в разделе Плагины для The Bat! и Voyager!
    Ответов: 0
    Последнее сообщение: 21.11.2005, 13:58
  4. снова LDAP
    от konbag в разделе The Bat!: вопросы и ответы
    Ответов: 2
    Последнее сообщение: 08.05.2004, 15:24
  5. Снова AVP+Bat
    от Rewind в разделе The Bat!: вопросы и ответы
    Ответов: 1
    Последнее сообщение: 26.01.2003, 22:19