можно ли удалять письма с почтового сервер

Обсуждение программ nnCron и nnCron LITE

можно ли удалять письма с почтового сервер

Postby dartvaider » Sat, 01 Jul 2006, 13:46

проверяю почту на ящике:


Code: Select all
0 VALUE number_of_messages
Action:
S" pop_server" S" login" S" pass" POP3-CHECK
TO number_of_messages
S" pop_server" S" login" S" pass" number_of_messages POP3-GET
S" c:\test.txt" FWRITE


всё работает нормально - почта проверяется, но удалить сообщения не получается с сервера :( т.е. они остаются всегда на сервере- можно ли как -либо сделать удаление сообщений без настройки smtp сервера в хелпе что-то есть на это т.е.:


Code: Select all
POP3-STAT THROW ?DUP        IF
            \ в цикле отображаем на консоли текст всех сообщений
            1+ 1 DO I POP3-RETR THROW TYPE CR
            \ удаляем каждое сообщение            I POP3-DELE THROW            LOOP        THEN
        \ отключаемся от POP3 сервера        POP3-QUIT THROW
    POP3-QUIT THROW
    ELSE
        ERR-MSG: "Error when connecting to the POP3 server"    THEN 


но что-то они не удаляются :( ?
в чем может быть причина?
dartvaider
 
Posts: 13
Joined: Wed, 28 Jun 2006, 09:12

Postby AlikasS » Tue, 04 Jul 2006, 07:46

Code: Select all
#( Почта
NoActive
SingleInstance
AsLoggedUser
0 VALUE number_of_messages
LoadProfile
NoLog
Action:
\ узнаем количество сообщений на сервере
S" сервер" S" логин" S" пароль" POP3-CHECK
TO number_of_messages
number_of_messages 0<>
IF
   S" сервер" S" логин" S" пароль" POP3-CONNECT 0=
   IF
   number_of_messages 1+ 1 DO
      I POP3-RETR  THROW \ запрос всего письма
      \ I 1 POP3-TOP THROW \ запрос заголовка
      S" C:\Program Files\nnCron\post\get.mail" FWRITE

       I POP3-DELE THROW \ удалить письмо

      FILE-RENAME: "C:\Program Files\nnCron\post\get.mail" "C:\Program Files\nnCron\post\%YY%-%MMM%-%DD%-%hh%-%mm%-%ss%.msg"
   LOOP
   POP3-QUIT THROW
   THEN
THEN
)#

в папке
C:\Program Files\nnCron\post\ складируются письма.
можно добавить свои условия и запускать автоматом
или принимать только заголовки ( и анализировать их, например)
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Postby StDudik » Tue, 01 Aug 2006, 10:10

AlikasS wrote:
Code: Select all
...
      FILE-RENAME: "C:\Program Files\nnCron\post\get.mail" "C:\Program Files\nnCron\post\%YY%-%MMM%-%DD%-%hh%-%mm%-%ss%.msg"
...


Не подскажете каким образом можно переименовать файл так, чтобы в названии файла стояла тема письма? Возможно ли это средствами nnCron?
StDudik
 
Posts: 1
Joined: Tue, 01 Aug 2006, 09:09

Postby AlikasS » Thu, 03 Aug 2006, 17:23

StDudik wrote:Не подскажете каким образом можно переименовать файл так, чтобы в названии файла стояла тема письма? Возможно ли это средствами nnCron?

открыть файл на чтение, в данном случае get.mail
считывая построчно файл и проверяя на наличие слова:
Subject:
отбросить его из строки и останется тема! и дальше использовать найденое
пример построчного считывания файла есть в example.tab
задача: birthdays
но помоему это так легко только для темы обозначенной английскими буквами.
с темой с русскими буквами, она будет иметь формат
Subject: =?koi8-r?B?08/C09TXxc7OzyDUxc3B?=
а тут уже, я например, не силен.. :-(
Last edited by AlikasS on Thu, 03 Aug 2006, 18:07, edited 1 time in total.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Postby AlikasS » Thu, 03 Aug 2006, 17:58

пример...
может переделаешь для себя и
упростишь... :-) :
Code: Select all
#( CLASSIC-TASK-#-Почта
\ NoActive
\ HyperActive
SingleInstance
: post.txt S" C:\Program Files\nnCron\post\get.mail" ;
0 VALUE number_of_messages
0 VALUE number_of_mess
0 VALUE flag_pismo
VARIABLE fpost
CREATE linespost 257 ALLOT
Time: */5 * * * * *
NoLog
Action:
0 TO number_of_messages
FILE-WRITE: "C:\Program Files\nnCron\doc\postt.txt" "%number_of_messages% шт." \ файл с количеством писем на сервере
\ узнаем количество сообщений на сервере
S" сервер3" S" пользователь" S" пароль" POP3-CHECK
TO number_of_messages
number_of_messages 0<>
IF
FILE-WRITE: "C:\Program Files\nnCron\doc\postt.txt" "%number_of_messages% шт."

   S" сервер" S" пользователь" S" пароль" POP3-CONNECT 0=
   IF
   number_of_messages 1 + TO number_of_mess
   number_of_mess 1 DO

      0 TO flag_pismo
      \ I POP3-RETR  THROW \ запрос всего письма
       I 1 POP3-TOP THROW \ запрос заголовка
      S" C:\Program Files\nnCron\post\get.mail" FWRITE
      5000 PAUSE
\ ---------------------   работа с загруженным письмом   
  post.txt R/O OPEN-FILE-SHARED IF DROP ERR-MSG: "Can't open %post.txt% file" EXIT THEN fpost !
  BEGIN linespost 256 fpost @ READ-LINE THROW WHILE
    linespost SWAP
    <TIB
      RE-MATCH: "%linespost COUNT%" "/.jena@mail.com./is" \ проверка на наличие в теле письма адреса jena@mail.com (не реальный!!)
      IF
      1 TO flag_pismo \ флаг1 на совпадение
      ELSE
      THEN

      RE-MATCH: "%linespost COUNT%" "/.STOP COMPUTER./is" \ проверка на наличие в теле письма фразы STOP COMPUTER
      IF
      2 TO flag_pismo \ флаг2 на совпадение
      ELSE
      THEN

      RE-MATCH: "%linespost COUNT%" "/.@e-xecutive.ru./is" \ проверка на наличие в теле письма адреса @e-xecutive.ru
      IF
      3 TO flag_pismo \ флаг3 на совпадение
      ELSE
      THEN
     TIB>
  REPEAT
  DROP
  fpost @ CLOSE-FILE DROP

      \ проверка флагов, было ли совпадение
      flag_pismo 1 =
      IF
      HINT: "есть письмо от жены!!"
      THEN
      flag_pismo 2 =
      IF
      I POP3-DELE THROW \ если было, удалить письмо
      POP3-QUIT THROW \ отключение от почтового сервера
      POWER-FORCE \ в спячку
      POWER-HIBERNATE
      THEN
      flag_pismo 3 =
      IF
      HINT: рассылка пришла от e-xecutive!!"
      THEN
\ --------------------------
      FILE-RENAME: "C:\Program Files\nnCron\post\get.mail" "C:\Program Files\nnCron\post\%YY%-%MMM%-%DD%-%hh%-%mm%-%ss%.msg"
   LOOP
   POP3-QUIT THROW
   THEN
THEN
)#
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: можно ли удалять письма с почтового сервер

Postby anten » Sat, 17 Mar 2012, 23:19

хочу написать скрипт, который проверяет почту и, при наличии письма, ребутает роутер (используя скрипт vbs).
пишет: ошибка в строке 245 (строчка "start-app: c:\reboot_router.vbs"). что я делаю не так?
Code: Select all
#( перезагрузка_роутера
NoActive
SingleInstance
AsLoggedUser
0 VALUE number_of_messages
LoadProfile
NoLog
Action:
\ узнаем количество сообщений на сервере
  S" server" S" user" S" password"  POP3-CHECK
TO number_of_messages
number_of_messages 0<>
IF
   S" server" S" user" S" password" POP3-CONNECT 0=
   IF
   number_of_messages 1+ 1 DO
      I POP3-RETR  THROW \ запрос всего письма
      \ I 1 POP3-TOP THROW \ запрос заголовка
      S" C:\Program Files\nnCron\post\get.mail" FWRITE
       I POP3-DELE THROW \ удалить письмо
   SWHide   NormalPriority
   start-app: c:\reboot_router.vbs
   LOOP
   POP3-QUIT THROW
   THEN
THEN
)#
anten
 
Posts: 17
Joined: Sat, 17 Mar 2012, 23:13

Re: можно ли удалять письма с почтового сервер

Postby VoidVolker » Sun, 18 Mar 2012, 08:37

Code: Select all
START-APP: c:\reboot_router.vbs
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: можно ли удалять письма с почтового сервер

Postby anten » Sun, 18 Mar 2012, 15:44

VoidVolker wrote:
Code: Select all
START-APP: c:\reboot_router.vbs

не сразу допер. спасибо.
anten
 
Posts: 17
Joined: Sat, 17 Mar 2012, 23:13

Re: можно ли удалять письма с почтового сервер

Postby Morituruz » Sun, 18 Mar 2012, 15:55

Ещё такая возможность есть:
http://www.nncron.ru/help/RU/commands/scripting.htm
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: можно ли удалять письма с почтового сервер

Postby anten » Sun, 18 Mar 2012, 16:43

SWHIDE не помогает. я так понимаю, что тут идет эмуляция нажатий клавиш. как-то можно сделать, чтоб окно telnet-а не показывалось?
anten
 
Posts: 17
Joined: Sat, 17 Mar 2012, 23:13


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron