Войти

Показать полную графическую версию : [решено] почтовый робот


vova_kansk
02-10-2013, 02:14
люди помогите собрать из трех и чуть допилить скрипт, облагородить так сказать
изначально тема такая

есть скрипт для получения почты от ingvar68 http://forum.script-coding.com/viewtopic.php?id=3196
с ним все хорошо он получает почту на сервере и валит все в одну папку (оргинал скрипта раскидывает по датам)

затем батничек подобный этому точнее он, но в нескольких экземплярах
http://forum.oszone.net/nextnewesttothread-242495.html
просматривает все это
растаскивает нужные письма по папкам и стартует нужные программы
остальная почта считается спамом и изничтожается
(вот здесь еще сортировщик очень понравилась реализация ini-файла в частности)

очень бы хотелось чуть допилить все это до более компактного
что он должен делать
необходимо зайти на почтовый сервер проверить есть ли почта
если есть то
посмотреть тему письма (чтоб не скачивать все письма и всякий спам, трафик большой)
если в теме письма есть "нужное слово1" то скачать и сохранить письмо на комп в папку1
если в теме письма есть "нужное слово2" то скачать и сохранить письмо на комп в папку2
если в теме письма "нужное слово3" то выполнить какунить команду1 (bat или vbs скрипт)
если в теме письма "нужное слово4" то выполнить какунить команду2 (bat или vbs скрипт)
и т.д.
...
удалить письмо с сервера
если остались еще письма повторить цикл

скрипт пихаем в планировщик он проверяет почту скажем каждые 15 мин
в итоге с любова девайса способного отправить почту мы можем управлять компом (скриптов выплняюшие какие либо действия на компе просто куча (у меня сделано динамический ip на почту сбросить, фотку с вэбки снять и послать на почту, записать 5 мин звука и отослать, ребутнуть модем, ребутнуть комп, даже форматнуть винт на всяк пожарный)
плюс сортировщик раскидает письма по темам
плюс спам фильтр

знающие люди помогите пожалуйста или ткните носом как сделать, я в скриптах не очень силен, очень очень надо

vova_kansk
07-10-2013, 19:29
findstr /r /m /c:"^Subject: Text$" "ARXIV\*.eml" >nul && start "RoboPost" text.bat
запускает файл text.bat если в папке есть файл в котором содержится Subject: Text

как переименовать а лучше переместить файл в котором встретилось это слово

findstr /r /m /c:"^Subject: Text$" "ARXIV\*.eml"

дает список файлов в директории но не могу прикрутить эту конструкцию к ren или copy

ren findstr /r /m /c:"^Subject: Stop$" "*.eml" "*.txt"

дает ошибку синтаксиса

ПОМОГИТЕ !!!!!

Iska
08-10-2013, 05:24
Не проверялось:
for /f "usebackq delims=" %%i in (`2^>nul findstr.exe /r /m /c:"^Subject: Text$" "ARXIV\*.eml"`) do move "%%~i" "Куда\"

vova_kansk
08-10-2013, 08:29
да код сработал даже лутше чем надо, можно сортировать почтовые сообщения по разным папкам, а чтоб файлы не встречались по именам переименую в процесе переноса в число и дату

полный код выглядит так
for /f "usebackq delims=" %%i in (`2^>nul findstr.exe /r /m /c:"^Subject: Post$" "ARXIV\*.eml"`) do move "%%~i" "post\%date:~0,2%_%date:~3,2%_%date:~6,4%_%time:~0,2%_%time:~3,2%_%time:~6,2%.eml

СПАСИБО

vova_kansk
08-10-2013, 09:18
возник другой вопрос почему строчка
echo WHERE_WE=Replace(VBS,"\" & VBS_NAME,"") >>POP_client.vbs

приводит не к созданию файла POP_client.vbs а к ошибке

WHERE_WE=Replace(VBS,"\"
"VBS_NAME" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

что значит знак & в команде echo

Iska
08-10-2013, 11:42
echo WHERE_WE=Replace(VBS,"\" ^& VBS_NAME,"") >>POP_client.vbs

что значит знак & »
Объединение нескольких команд в одной строке.

vova_kansk
08-10-2013, 15:35
а всеравно не получилось vbs в батник запихать, но так тоже неплохо
итак что получилось

есть скрипт для получения почты от ingvar68 http://forum.script-coding.com/viewtopic.php?id=3196
с ним все хорошо он получает почту на сервере и валит все в одну папку (оргинал скрипта раскидывает по датам)
в скрипт надо прописать свой логин, пароль, POPсервер и порт
(некоторым может потребоватся MSWINSCK.ocx лежит в архиве)

есть батник который потом смотрит в эту папку и если
тема письма Text запускает text.bat
тема письма Start запускает start.bat
тема письма Stop запускает stop.bat
(в теме письма первая буква заглавная просто мне так удобнее, под себя пилите как хотите)
тема письма Post перетаскивает письмо в папку message попутно переименовывая
сохраняется лог последней сессии почтовика
все остальное изничтожается как спам

я не автор сего я просто собрал отдельные куски кода со всяких форумов под свою конкретную задачу посему низаче не отвечаю, гугл рулит
ВСЕМ СПАСИБО

пс : выяснился баг, если приходило несколько сообщений которые надо сохранить сохранялось только последнее, вроде исправил




© OSzone.net 2001-2012