Не работают оповещения...

Тема в разделе "Lotus - Программирование", создана пользователем Chron, 17 ноя 2010.

  1. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    Всем доброго времени суток... У меня вновь дилемма... Надеюсь на вашу помощь...
    В общем так... Не работают уведомления на почтовые ящики пользователей в базе... Уведомления отсылаются напрямую при помощи поля SendTo и метода Send соответсвенно... Причем вся суть в том, что уведомления вполне успешно функционируют на начальном сервере., а с некоторых пор начали разворачивать эти же базы на дочерних серверах в подразделениях и вот тут они уже не работают... С чего это может быть? Дело в настройках сервера или же в коде... Мне это совсем неясно...

    Всем заранее спасибо за ответы...
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    а в лог зайти и поглядеть роутятся ли эти сообщения вообще куда-то
     
  3. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    К сожалению к логу у меня нет доступа... Искуственно выявляю отчет об ошибке, он ругается именно на строку с функцией отправки сообщения... И именно на адресата, судя по всему...
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Попробуйте создавать оповещения сразу в mail.box, на форуме есть примеры.
     
  5. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    значит адресата нет, или же есть дубли, какое конкретно сообшщение об ошибке?
     
  6. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    а может сервера и не дочерние вовсе ? а станд-алоне?
     
  7. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Что за фигня не давать доступ на лог (хватает чтения)?
    Админ - параноик.
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    да, чо за фигня, каждый юзер имеет право знать чем занимается сервер! :)
    Алилуя БРАТ ;)
     
  9. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    У серверов общая адресная книга, причем, повторяюсь, эти же базы, вполне спокойно отрабатываются на главном сервере... Ошибка ругается: тот-то не может быть оповещен по почте в это время...
     
  10. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    ToxaRat, я всё таки полагаю, что Chron - разработчик, а не пользователь системы.
    В противном случае ему должно быть пофик, почему не работают оповещения.
    Точнее ему надо об этом оповестить разработчика :)
     
  11. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    Я действительно не разработчик - сам разработчик давно канул в Лету... Я сопровождаю систему, устанавливаю... помаленьку изучаю, дорабатываю...
     
  12. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0
    Решил по вашему совету воспользоваться mail.box... Накатал процедурку (и она у меня не работает ни черта)).. как работать с mail.box без понятий):

    Код (Text):
    Sub SendNotification (db As NotesDataBase, doc As notesDocument,SendTo As Variant, Subject As String, LinkText As String)

    Dim session As New NotesSession
    Dim mailbox As NotesDatabase
    Dim maildoc As NotesDocument

    Dim rtitem As New NotesRichTextItem ( maildoc, "Body")

    Set mailbox = session.GetDatabase("SERVER_NAME", "mail.box")
    Set maildoc = mailbox.CreateDocument

    Call maildoc.ReplaceItemValue ("InheritedDbTitle", db.Title)
    Call maildoc.ReplaceItemValue ("Form", "Bookmark")
    Call maildoc.ReplaceItemValue ("SendTo", SendTo)
    Call maildoc.ReplaceItemValue ("Subject", Subject)

    Call rtitem.AppendDocLink (doc, "DocLink to " )
    Call rtitem.AppendText (LinkText)

    Call maildoc.Save(True, True)


    End Sub
    Все ли верно? Жду вашей критики... И еще, как считаете использовать как скрипт все-таки... или привязать к какому-нибудь событию... С учетом того, что документы постоянно редактируются и отсылаться буду часто различным пользователям..... спасибо...
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Dim rtitem As New NotesRichTextItem ( maildoc, "Body") перенесите после
    Set maildoc = mailbox.CreateDocument
    или разбейте на две строки, в начале процедуры
    Dim rtitem As NotesRichTextItem
    а после создания maildoc
    Set rtitem = New NotesRichTextItem( maildoc, "Body")

    P.S. Советую также устанавливать значение поля "$AutoForward" = "1", чтобы не получать отлупы агента "Нет на работе". Стоит также обратить внимание на поля PostedDate, From, AltFrom, InetFrom, Principal, Sender, ReplyTo в зависимости от требуемого результата.
     
  14. Chron

    Chron Well-Known Member

    Регистрация:
    16 авг 2010
    Сообщения:
    49
    Симпатии:
    0

    Сделал, только вот не помогло... Вообще как быстро реагирует mail.box? .. Может его как-то настроить необходимо предварительно?
     
  15. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В этой базе есть библиотека (MailFunctions) для генерации писем кодом:
    http://www.openntf.org/internal/home.nsf/r...1256E3A003B4268
    Письмо в mail.box кладётся сразу, как только вы его сохраните. Поглядите, не застряли ли там Ваши оповещения, в логах можно глянуть причину их "зависания".
     
Загрузка...

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