Почта

Тема в разделе "Lotus - Программирование", создана пользователем ukr, 23 мар 2008.

Наш партнер Genesis Hackspace
  1. ukr

    ukr Гость

    Всем доброго дня.
    Необходимо перехватить письмо, еще до создания его в Почтовой Базе.
    Возможно ли это сделать? Если да, то как?
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    как это ДО создания письма? в момент када у пользователя зародилась мысль надо её перехватить?
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Наверное, входящие.
    Агентом "Before new mail arrives".
     
  4. ukr

    ukr Гость

    Суть в следующем.
    На клиентском месте, в почтовой базе Lotus'a 7.02 не отрабатывают почтовые правила. Из-за этого приходит большое количество спама. Понятно, что это затрудняет работу людям. Задача в следующем, чтобы весь приходящий спам сыпался в папку "Нежелательная почта". Вот я и задался вопросом возможно ли отловить событие создания входящего письма в почтовой базе. Надеюсь сейчас картина стала более понятней.
     
  5. Да, теперь понятнее. На Ваш вопрос уже ответил Medevic - надо писать агента на Before new mail arrives (в свойствах агента выбираете Trigger - On Event и в списке Before new mail arrives).

    Пример кода агента:
    Код (Text):
    @If(@Contains(Subject; "SPAM"); @AddToFolder("SpamFolder"; ""); @Success)
    Хотя я бы еще занялся вопросом, почему не отрабатывают почтовые правила. Посмотрите серверный лог, может, там инфа будет.
     
  6. ukr

    ukr Гость

    Все конечно хорошо. Но к сожалению событие Before new mail arrives не отрабатывает. Есть другие варианты решения данной проблемы?
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    отчего такие выводы? Это читали?

    какие варианты Вас ещё интересуют?
     
  8. Так не бывает. Скорее уж ошибка в агенте. Выложите код.
    Или попробуйте переписать агента на LotusScript. Доступ к документу - через NotesSession.DocumentContext.
     
  9. ukr

    ukr Гость

    Вот получается какая ситуация, при следующих параметрах агента:
    Trigger -> On Event
    из списка выбрал Action menu selection
    Target -> All selected documents

    Все отрабатывает нормально

    При параметрах
    Trigger -> On Event
    из списка выбрал Before new mail arrives

    Он не работает

    Вот код:
    Код (Text):
    Sub Initialize
    Dim ss As New NotesSession
    Dim doc As NotesDocument

    Set doc = ss.DocumentContext

    If doc.Subject(0) = "SPAM" Then
    Call doc.PutInFolder("($JunkMail)")
    End If

    End Sub
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Повторюсь, ЭТО читали?
     
  11. ukr

    ukr Гость

    Читали не помогает.
    Тем более там настройки для того чтобы агент отрабатывал по расписанию. А здесь рассматривается случай на обработку события "Прехода новой почты".
     
  12. ukr

    ukr Гость

    Почтовая база лежит на сервере.
    Самое интересное какой код не пишу, даже добавление своего поля в документ ничего не происходит.
    Событие Before new mail arrives не хочет отрабатывать.
    И еще хочу внести конкретику. Проблема происходит с внешними почтовыми адресами. С внутренними все нормально отрабатывает, даже почтовые правила.
     
  13. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    так может просто нет прав на запуск агента на сервере?
     
  14. ukr

    ukr Гость

    Права есть. С этим все нормально
     
  15. Sandr

    Sandr Гость

    Попробуйте в этом агете проанализировать внешнее письмо, есть ли у него итем Subject и т.д... Тоесть в этом агенте накидайте мессаджбоксов и смотрите лог или консоль сервера при приходе почты...

    Обратите еще внимание на авторс-ридерс поля, есть ли такие, возможно что агент попросту не иметт доступа именно к документу...
     
  16. ukr

    ukr Гость

    Еще больше проясняю ситуацию. Почта находится на сервере.
    Когда отправляешь почту она уходит через сервер.
    Когда извне получешь почту она постпает через локал.
    Поэтому log я не могу посмотреть на сервере.
     
  17. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    ну а почему нельза сразу дать детальное описание ситуации

    в любом случае смотрите лог агента (правая кл. мыши - LOG ) запускался ли он вообще. Папробуйте запустить вручную - какой будет результат

    [email protected]
    видимо напрямую с почтовика(не с Domino) тянеться
     
Загрузка...

Поделиться этой страницей