Страница 1 из 1

автоматическая распаковка писем

Добавлено: 01 авг 2014, 13:11
dpi0519
помогите со скриптом. Нужно распаковывать письма, внутри файлы, тело письма пустое, файлы нужно ложить в каталог, имя каталога должно соответствовать теме письма.

Стандартный скрипт видел, работает.

Re: автоматическая распаковка писем

Добавлено: 06 авг 2014, 13:32
FossWare
помогите со скриптом. Нужно распаковывать письма, внутри файлы, тело письма пустое, файлы нужно ложить в каталог, имя каталога должно соответствовать теме письма.
Т.е. у вас будет так: Тело (а не тема?) письма - "Справки" -> каталог Справки. Или поясните подробно что вы хотите получить?

Re: автоматическая распаковка писем

Добавлено: 06 авг 2014, 13:33
dpi0519
победил, Алгоритм примерно такой:

fm- скриптом FossMail
ps- скриптом PowerShell

Код: Выделить всё

получаем. (fm)
 пока есть ФПК, берем из фпк, тему (ps)
  распаковываем ФПК (fm)
  создаем каталог. (ps)
  перемещаем файлы (ps)
 конец цикла
отправляем(fm)
Вопрос №2 как получать\отправлять\распаковывать на ps? реально ли, то что хочу? если можно, напишите простой пример.

Re: автоматическая распаковка писем

Добавлено: 06 авг 2014, 13:37
dpi0519
FossWare писал(а):
помогите со скриптом. Нужно распаковывать письма, внутри файлы, тело письма пустое, файлы нужно ложить в каталог, имя каталога должно соответствовать теме письма.
Т.е. у вас будет так: Тело (а не тема?) письма - "Справки" -> каталог Справки. Или поясните подробно что вы хотите получить?
Хотел\хочу следующее: по теме письма, создать каталог и распаковать в него письмо. Результат уже получил но некрасиво получилось. Работает на 3-х скриптах. :(

Re: автоматическая распаковка писем

Добавлено: 07 авг 2014, 17:06
lyk
Добрый день. Т.е. предлагается подход - доставка должна быть не конкретному пользователю/почтовому_ящику, адрес которого задается в Получателе, а на основании других критериев - что задано в другом поле? Как, например, в старые времена был подход - кодировать получателя в имени вложенного файла? Т.е. задавать получателя не через адрес получателя?

Ряд вопросов по алгоритму:
- Если есть несколько ФПК с вложениями с одинаковой темой - создается каталог из темы, туда сносятся вложенные файлы. А со следующего ФПК - сносятся файлы в уже созданный каталог? Что делать с возможными одноименными вложенными файлами в данном случае?
- Время жизни этого каталога? Если кто-то сторонний будет его убивать (по какому критерию?), а в это время в новом ФПК тема совпадает с этим каталогом?
- Что делать, если в теме есть запрещенные для имени каталога символы (*, ?) и как отрабатывать ситуацию, когда в теме что-то типа "..\..\..\Windows\System32\", т.е. когда может возникнуть проблема с безопасностью ОС?
- Поле Тема имеет определенную длину - может ли быть ситуация, когда путь/имя каталога превысит эту длину?
- на компе может работать несколько скриптов от разных пользователей - возможна ли такая ситуация и возникнет ли между ними конфликта ?

Сейчас есть встроенный алгоритм, когда каталог создается по текущей дате и в него сливаются все вложенные файлы из пришедших ФПК (было создано для создания архивов на пользоваельской стороне) - не подходит? Есть возможность в скрипте использовать С-шные функции (синтаксис - нижнее подчеркивание, например:
pBuf := _newchar(128);
_strcpy(pBuf, "c:\Tmp2);
_strcat(pBuf, "\aa.txt");
_delete(bBuf)).
Для доступа к полям ФПК можно использовать функции скрипта более низкого уровня. Возможности скрипта Foss - очень гибкие (сочетание низкоуровневого доступа к полям конверта с возможностью rt библиотеки С), нужно определиться с надежностью полученного решения.

Re: автоматическая распаковка писем

Добавлено: 08 авг 2014, 10:28
dpi0519
lyk писал(а): Возможности скрипта Foss - очень гибкие (сочетание низкоуровневого доступа к полям конверта с возможностью rt библиотеки С), нужно определиться с надежностью полученного решения.
По поводу: "зачем все это?"
Есть филиал, 150++ человек. В филиале есть почтовый ящик. На этот ящик идет почта. Эта почта нужна ВСЕМ. Почтовые ящики есть не у всех.
Почта идет с уникальной темой. В теле письма нужные файлы.

Для удобства работы вся почта должна распаковываться в общий сетевой каталог. Что-бы не было путаницы (в письмах могут быть одинаковые файлы), решили в общем каталоге создавать подкаталог по теме письма.

Для этой реализации и создан скрипт.

Насчет длины\имени итд каталога: решили 3-мя регулярными выражениями, ограничили длину каталога (режим тему если что, бывает редко, и не критично когда идет длинная тема), добавили дату время (дата-время_тема письма)

Насчет "гибкости" языка в ФМ: Работа со строками это просто ужас. Процедуры\функции (пользовательские) - прошлый век. Доступа к полям конверта, примера так и не дождался, решил через PS в 3 строчки. Изучать все возможность вашего языка нет времени и возможности. В документации описание функций вашего языка не соответствует действительности. Например есть функция по отправке почты, но она не только отправляет но и принимает. В документации написано что идет ОТПРАВКА почты про прием почты НИ СЛОВА.

Насчет надежности: Работает не трогай. Проблем нету. ;)

Re: автоматическая распаковка писем

Добавлено: 08 авг 2014, 16:00
lyk
"Что-бы не было путаницы (в письмах могут быть одинаковые файлы), решили в общем каталоге создавать подкаталог по теме письма." - никто не гарантирует, что темы будут уникальными. Решение еще проще - без всяких скриптов. На отделение создается общий ящик группы (напр. ALL). В реале этих групп м.б. сколько угодно (бухгалтеры, депозитчики и т.д.). Отправитель пишет на адрес нужной группы в отделении, а на приемной стороне на узле в маршрутных таблицах за группой закрепляются конкретные конечные получатели, которым и разбрасывается пришедшая на группу корреспонденция. Что не у всех получателей есть почтовый ящик - это организационные погрешности (люди должны участвовать в тех.процессе, а у них нет элементарного доступа). Если нужна реализация каких-то сложных механизмов взаимодействия людей через хитрую параллельно-последовательную обработку пришедших, в том числе и по почте, документов, т.е. задачи автоматического обхода соисполнителей принятыми документами, синхронизации обработки и в соответствии с реакцией каждого - это задачи системы документооборота предприятия. Да и понятие "папка"/"каталог", "сервер общих файлов" в бизнес логике отсутствует - другой уровень абстракции.

Re: автоматическая распаковка писем

Добавлено: 11 авг 2014, 14:21
dpi0519
1. начальник всегда прав.
2. см пункт 1.

Гос. структура однако ;) Ящиков всем не хватает. С организацией делопроизводства не поспоришь. Поставленная задача решена, а это главное.