After New Mail Has Arrived

  • Автор темы wowa
  • Дата начала
W

wowa

Добрый день.

Существет проблема. Нужно обрабатывать письма по приходу в базу данных.
Если поставить "Before new mail arrives", то агент запускается сразу, но обрабатывает все письма кроме того, которе только пришло.
Если ставлю "After new mail has arrived", то агент вообще не запускается...
Подскажите, в чем может быть дело?

Добавлено: Может быть агент должен быть подписан сервером или т.д.
 
S

susinmn

Если поставить "Before new mail arrives"...

В скрипте как ты определяешь doc
Код:
Set doc=s.DocumentContext

У себя заметил, что есть лимит на время работы такого агента, т.е. некоторые письма этот агент пропускал
 
W

wowa

susinmn , беру вьюшку и получаю все необработанные доки. Но фишка не в этом. В самом начале агента я сделал print, дабы увидеть в логе на сервере запускается ли этот агент. Он не запускается :)
 
A

akat

Посмотрите в свойствах агента, итем $MachineName. Если там не звездочка, то убедитесь что либо это тот же сервер, на котором выполняется, либо этому (другому) серверу хватает правов.
 
W

wowa

А как понять, почтовый это сервер или нет?
 
S

susinmn

susinmn , беру вьюшку и получаю все необработанные доки. Но фишка не в этом. В самом начале агента я сделал print, дабы увидеть в логе на сервере запускается ли этот агент. Он не запускается :)

Про *Если поставить "Before new mail arrives"*
ну так документа нет еще в бд) нет и во вью)

Обрабатывай вью+обрабатывай документ полученный, как Set doc=s.DocumentContext

Если агент не стартует, пропиши в нонес.ини AMgr_DisableMailLookup=1 или через администратор Set Config AMgr_DisableMailLookup=1 и перегрузи сервер (rest rerv, если через консоль)

+если письма туда попадают через правила сервера, агент не запускается
 
N

nvyush

Для получения документа в агенте типа "Before new mail arrives"
Set doc = session.DocumentContext

Для получения коллекции документов в агенте типа "After new mail has arrived"
Set docs = db.UnprocessedDocuments
и не забывать Call session.UpdateProcessedDoc(doc)
 
W

wowa

Для получения документа в агенте типа "Before new mail arrives"
Set doc = session.DocumentContext

Для получения коллекции документов в агенте типа "After new mail has arrived"
Set docs = db.UnprocessedDocuments
и не забывать Call session.UpdateProcessedDoc(doc)
nvy , да это все понятно, агент тупо не запускается.

Если агент не стартует, пропиши в нонес.ини AMgr_DisableMailLookup=1
Параметра у меня этого не было. Прописал, агент не стартует
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!