0 Then posizione=Instr(indirizzo,"<") posizione2=Instr(posizione,indirizzo,">") indirizzopulito=Mid(indirizzo,posizione+1,posizione2-(posizione+1)) Else indirizzopulito=indirizzo End If Set docNames=viewNames.GetDocumentByKey(indirizzopulito,True) If Not docNames Is Nothing Then flag="" destinatario=docNames.FullName(0) Call ItemAutore.AppendToTextList(docNames.FullName(0)) Call ItemLettore.AppendToTextList(docNames.FullName(0)) Call InviaMail(destinatario) End If End Forall Next If flag="errore" Then doc.Errore="Y" End If doc.SBLOCCATI="Y" Call doc.Save(True,True) Set doc=coll.GetNextDocument(doc) Wend Exit Sub GestioneErrore: Set newdoc=db.CreateDocument newdoc.form="Memo" newdoc.SendTo="Administrator" newdoc.Subject="Errore nell'agente Inoltra comunicazione" Set rtitem=New NotesRichTextItem( newdoc, "Body" ) Txterrore="Errore nell'agente Inoltra comunicazione " +Chr(13) + Chr(10) + " Alla riga: " + Str(Erl) & Chr(10) + Chr(13) +_ " definizione Errore: testo " & Error$ &" numero "& Str(Err)&". Segnalare l'errore all'amministratore del database" Call rtitem.AppendText(Txterrore) Call newdoc.Send( False ) Exit Sub End Sub Sub InviaMail (destinatario As String) On Error Goto GestioneErrore Set mail = New NotesDocument( db ) mail.form = "Memo" mail.SendTo = destinatario mail.Subject = "Blocco nuovo messaggio con oggetto "+doc.Subject(0) Dim rtitem As New NotesRichTextItem( mail, "Body" ) Call rtitem.AppendText( "Mail: " ) Call rtitem.AppendDocLink( doc, "" ) Call mail.Send( False ) ' Invio il messaggio Exit Sub GestioneErrore: Set newdoc=db.CreateDocument newdoc.form="Memo" newdoc.SendTo="administrator" newdoc.Subject="Errore nell'agente Inoltra comunicazione sub InviaMail" Set rtitem=New NotesRichTextItem( newdoc, "Body" ) Txterrore="Errore nell'agente Inoltra comunicazione sub InviaMail" +Chr(13) + Chr(10) + " Alla riga: " + Str(Erl) & Chr(10) + Chr(13) +_ " definizione Errore: testo " & Error$ &" numero "& Str(Err)&". Segnalare l'errore all'amministratore del database" Call rtitem.AppendText(Txterrore) Call newdoc.Send( False ) Exit Sub End Sub">
> |  
re : Creare una mail via agent
maci
Questo è il mio script, semplice spartano ma funzuonante, spero ti sia d\'aiuto.
Ciao
Marco

Nell\'oggetto Document selection inserisci la vista, che devi costruire con
select SELECT Form="Memo" & SBLOCCATI=""

Declaration
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim Pro As NotesDocument
Dim mail As NotesDocument
Dim Dbnames As NotesDatabase
Dim viewNames As NotesView
Dim docNames As NotesDocument
Dim ItemAutore As NotesItem
Dim ItemLettore As NotesItem
Dim destinatario As String

Sub Initialize
Dim session As New NotesSession
On Error Goto GestioneErrore


Set db = session.CurrentDatabase
Set dbNames=session.GetDatabase(db.Server,"names.nsf")
Set viewNames=dbNames.GetView("PERSBLOCCO")
\'la vista l\'ho creata nell\'AddressBook ed ha la select SELECT Type = "Person"
& @IsUnavailable($Conflict)+_
\' e la prima colonna ordinata per il campo InternetAddress

Set coll = db.UnprocessedDocuments

Set doc = coll.GetFirstDocument

While Not doc Is Nothing
flag="errore"
Set ItemAutore=New NotesItem(doc,"Autore","[Admin]",AUTHORS)
Set ItemLettore=New NotesItem(doc,"Lettore","[Admin]",READERS)

For i=1 To 3
Select Case i
Case 1 : indirizzi=doc.GetItemValue("SendTo")
Case 2 : indirizzi=doc.GetItemValue("CopyTo")
Case 3 : indirizzi=doc.GetItemValue("BlindCopyTo")
End Select

Forall indirizzo In indirizzi
posizione=Instr(indirizzo,"<")
If posizione>0 Then
posizione=Instr(indirizzo,"<")
posizione2=Instr(posizione,indirizzo,">")
indirizzopulito=Mid(indirizzo,posizione+1,posizione2-(posizione+1))
Else
indirizzopulito=indirizzo
End If

Set docNames=viewNames.GetDocumentByKey(indirizzopulito,True)
If Not docNames Is Nothing Then
flag=""
destinatario=docNames.FullName(0)

Call ItemAutore.AppendToTextList(docNames.FullName(0))
Call ItemLettore.AppendToTextList(docNames.FullName(0))
Call InviaMail(destinatario)
End If
End Forall

Next

If flag="errore" Then
doc.Errore="Y"
End If

doc.SBLOCCATI="Y"

Call doc.Save(True,True)
Set doc=coll.GetNextDocument(doc)
Wend


Exit Sub
GestioneErrore:
Set newdoc=db.CreateDocument
newdoc.form="Memo"
newdoc.SendTo="Administrator"
newdoc.Subject="Errore nell\'agente Inoltra comunicazione"
Set rtitem=New NotesRichTextItem( newdoc, "Body" )

Txterrore="Errore nell\'agente Inoltra comunicazione " +Chr(13) + Chr(10) + "
Alla riga: " + Str(Erl) & Chr(10) + Chr(13) +_
" definizione Errore: testo " & Error$ &" numero "& Str(Err)&". Segnalare
l\'errore all\'amministratore del database"
Call rtitem.AppendText(Txterrore)
Call newdoc.Send( False )
Exit Sub
End Sub

Sub InviaMail (destinatario As String)
On Error Goto GestioneErrore
Set mail = New NotesDocument( db )
mail.form = "Memo"
mail.SendTo = destinatario
mail.Subject = "Blocco nuovo messaggio con oggetto "+doc.Subject(0)

Dim rtitem As New NotesRichTextItem( mail, "Body" )
Call rtitem.AppendText( "Mail: " )
Call rtitem.AppendDocLink( doc, "" )


Call mail.Send( False ) \' Invio il messaggio

Exit Sub
GestioneErrore:
Set newdoc=db.CreateDocument
newdoc.form="Memo"
newdoc.SendTo="administrator"
newdoc.Subject="Errore nell\'agente Inoltra comunicazione sub InviaMail"
Set rtitem=New NotesRichTextItem( newdoc, "Body" )

Txterrore="Errore nell\'agente Inoltra comunicazione sub InviaMail" +Chr(13) +
Chr(10) + " Alla riga: " + Str(Erl) & Chr(10) + Chr(13) +_
" definizione Errore: testo " & Error$ &" numero "& Str(Err)&". Segnalare
l\'errore all\'amministratore del database"
Call rtitem.AppendText(Txterrore)
Call newdoc.Send( False )
Exit Sub
End Sub




Creare una mail via agent - alessandrobl -
    re : Creare una mail via agent - maci -
    re : Creare una mail via agent - alessandrobl -
    You are here re : Creare una mail via agent - maci -