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

Chron

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

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

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#2
а в лог зайти и поглядеть роутятся ли эти сообщения вообще куда-то
 

Chron

Well-known member
16.08.2010
49
0
#3
а в лог зайти и поглядеть роутятся ли эти сообщения вообще куда-то
К сожалению к логу у меня нет доступа... Искуственно выявляю отчет об ошибке, он ругается именно на строку с функцией отправки сообщения... И именно на адресата, судя по всему...
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Попробуйте создавать оповещения сразу в mail.box, на форуме есть примеры.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#5
К сожалению к логу у меня нет доступа... Искуственно выявляю отчет об ошибке, он ругается именно на строку с функцией отправки сообщения... И именно на адресата, судя по всему...
значит адресата нет, или же есть дубли, какое конкретно сообшщение об ошибке?
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
а может сервера и не дочерние вовсе ? а станд-алоне?
 

Omh

Lotus team
04.07.2007
2 210
1
#7
Что за фигня не давать доступ на лог (хватает чтения)?
Админ - параноик.
 

Chron

Well-known member
16.08.2010
49
0
#9
а может сервера и не дочерние вовсе ? а станд-алоне?
У серверов общая адресная книга, причем, повторяюсь, эти же базы, вполне спокойно отрабатываются на главном сервере... Ошибка ругается: тот-то не может быть оповещен по почте в это время...
 

Omh

Lotus team
04.07.2007
2 210
1
#10
ToxaRat, я всё таки полагаю, что Chron - разработчик, а не пользователь системы.
В противном случае ему должно быть пофик, почему не работают оповещения.
Точнее ему надо об этом оповестить разработчика :)
 

Chron

Well-known member
16.08.2010
49
0
#11
ToxaRat, я всё таки полагаю, что Chron - разработчик, а не пользователь системы.
В противном случае ему должно быть пофик, почему не работают оповещения.
Точнее ему надо об этом оповестить разработчика :)
Я действительно не разработчик - сам разработчик давно канул в Лету... Я сопровождаю систему, устанавливаю... помаленьку изучаю, дорабатываю...
 

Chron

Well-known member
16.08.2010
49
0
#12
Решил по вашему совету воспользоваться mail.box... Накатал процедурку (и она у меня не работает ни черта)).. как работать с mail.box без понятий):

Код:
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
Все ли верно? Жду вашей критики... И еще, как считаете использовать как скрипт все-таки... или привязать к какому-нибудь событию... С учетом того, что документы постоянно редактируются и отсылаться буду часто различным пользователям..... спасибо...
 

nvyush

Lotus team
22.04.2009
2 317
0
#13
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 в зависимости от требуемого результата.
 

Chron

Well-known member
16.08.2010
49
0
#14
Dim rtitem As New NotesRichTextItem ( maildoc, "Body") перенесите после
Set maildoc = mailbox.CreateDocument
или разбейте на две строки, в начале процедуры
Dim rtitem As NotesRichTextItem
а после создания maildoc
Set rtitem = New NotesRichTextItem( maildoc, "Body")

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

nvyush

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