об этом же говорил чуть вышене проще ли свою базу сделать?

Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
об этом же говорил чуть вышене проще ли свою базу сделать?
ходитА вообще во внешний мир почта ходит?
все равно не отправляетсяВообще обычно хватало SendTo
Sub Click(Source As Button)
Dim uidoc As NotesUIDocument
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Dim ws As New NotesUIWorkspace
Set uidoc=ws.CurrentDocument
If uidoc.ModifiedSinceSaved=True Then
Call uidoc.Save
End If
Set doc1 = uidoc.Document
Call doc1.ReplaceItemValue("Principal","")
Call doc1.ReplaceItemValue("Subject",doc1.Subject(0))
send=doc1.EnterSendTo
copysend=doc1.EnterCopyTo
sendblind=doc1.EnterBlindCopyTo
Call doc1.ReplaceItemValue("Form","Memo")
Call doc1.ReplaceItemValue("SendTo",send)
Call doc1.ReplaceItemValue("BlindCopyTo",sendblind)
Call doc1.ReplaceItemValue("CopyTo",copysend)
Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Call doc1.ReplaceItemValue("PostedDate",Now())
Call doc1.ReplaceItemValue("MailOptions","0")
'Call uidoc.save
uidoc.Close
End Sub
Думаю, что порядок действий должен быть примерно такой:если ставлю Call uidoc.save, то письмо помещается в отправленные и отправляется, но в Кому нет перечня никакого, а в свойствах SendTo=""
если 'Call uidoc.save убрать, то письмо остается в черновиках, зато в кому указана ФИО
Sub
...
Call doc1.ReplaceItemValue("MailOptions", "0")
On Error Goto ErrH 'Ставим обработчик на случай ошибок при сохранении
Call uidoc.Save
Call uidoc.Close
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
'И лучше бы вообще эти 2 последние строчки делать в конце агента
Call doc1.ReplaceItemValue("PostedDate", Now)
Call doc1.Save(False, True)
Exit Sub
ErrH:
errMsg$ = Error$ 'Что хотите тут пишите, выдаю просто текст ошибки
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
End Sub
отправка у нас в агенте, т.е. дописывать поля (помещать в "Отправленные") надо бы в агенте.С наскоку - надо после отправки:
...
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
Set db = session.CurrentDatabase
Set agent = session.CurrentAgent
Set doc = db.GetDocumentByID(agent.ParameterDocID)
Dim send As Variant
Dim copysend As Variant
Dim sendblind As Variant
Dim recipients( 1 To 3 ) As Variant
recipients( 1 ) = send
recipients( 2 ) = copysend
recipients( 3 ) = sendblind
Call doc.Send( False, recipients )
Call doc.ReplaceItemValue("PostedDate", Now)
Call doc.ReplaceItemValue("MailOptions", "0")
Call doc.Save(False, True)
Sub Click(Source As Button)
Dim uidoc As NotesUIDocument
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Dim ws As New NotesUIWorkspace
Set uidoc=ws.CurrentDocument
If uidoc.ModifiedSinceSaved=True Then
Call uidoc.Save
End If
Set doc1 = uidoc.Document
Call doc1.ReplaceItemValue("Principal","")
If doc1.Subject(0)="" Then
Call doc1.ReplaceItemValue("Subject",doc1.WebSubject(0))
Else
Call doc1.ReplaceItemValue("Subject",doc1.Subject(0))
End If
If doc1.SendTo(0)="" Then
send=doc1.EnterSendTo
copysend=doc1.EnterCopyTo
sendblind=doc1.EnterBlindCopyTo
Call doc1.ReplaceItemValue("Form","Memo")
Call doc1.ReplaceItemValue("SendTo",send)
Call doc1.ReplaceItemValue("BlindCopyTo",sendblind)
Call doc1.ReplaceItemValue("CopyTo",copysend)
Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Call doc1.ReplaceItemValue("MailOptions", "0")
Call doc1.ReplaceItemValue("PostedDate", Now)
On Error Goto ErrH Call uidoc.Save
Call uidoc.Close
Call doc1.ReplaceItemValue("PostedDate", Now)
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Exit Sub
ErrH:
errMsg$ = Error$
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
End Sub
Call doc1.Save( False, True )
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Call doc1.ReplaceItemValue("MailOptions", "0")
Call doc1.ReplaceItemValue("PostedDate", Now)
On Error Goto ErrH
Call uidoc.Save
Call uidoc.Close
Call doc1.ReplaceItemValue("PostedDate", Now)
Set agent = db.GetAgent("(mailsend)")
Call agent.RunOnServer(doc1.NoteID)
Exit Sub
ErrH:
errMsg$ = Error$
Msgbox errMsg$,, "Lotus Notes..."
Exit Sub
Обучение наступательной кибербезопасности в игровой форме. Начать игру!