Newsgroup: it.comp.appl.notes-domino
Titolo: SendMail da remoto

Saluti a tutto il NG.
E' possibile da client Notes remoto con posta in locale inviare e-mail senza
passare per il Replicator?  Dovrei inviare la posta da un applicativo che
replica un database da remoto, fa alcune cose e in certi casi manda messaggi
di posta che però rimangono in locale. Sembra che l'unico modo per inviarli
sia andare nel replicator e premere il tasto Invia Mail.
C'è un modo per farlo via codice?
Grazi mille a chi mi saprà rispondere
Mauro

 ha scritto nel messaggio
news:oJ2u7.1041$0Y2.2...@news.infostrada.it...

Prova ad andarti a prendere il mail.box in locale e a startare la replica da
codice...


Ciao Mauro.
Da quanto capisco tu hai dei client remoti nella cui location è settata 
la posta in locale. In questo caso ovviamente il metodo SEND della classe
 Notesdocument consegna il doc di posta al mailer che però non è in grado di 
inoltrarlo al server, ma si limita a depositarlo nella mailbox in locale.
Quindi per inviare la posta devi andare nel Replicator e, tramite il pulsante
Invio Mail applichi la formula @ReplicatorSendMail.
Puoi automatizzare l'operazione con un agente che lancia in successione
@Replicator (che apre il replicator)
e @ReplicatorSendMail che invia la posta, magari con il comando PostedCommand.
Questo però non credo sia quello che cerchi. 
Purtroppo non puoi replicare la mailbox in alcun modo, perchè sul server 
non esiste un database con lo stesso ID di replica della tua mailbox.
Quello che devi fare invece è semplicemente copiare i documenti di posta dalla
tua mailbox (il mailer ha già compilato il campo Recipients) in quella del 
server, che ha ovviamente Impostazione come accesso di default.
In pratica punti alle due Mailbox e riversi semplicemente i documenti
da quella locale a quella del server, affidando la tua posta direttamente al
router del server.
Dato che hai appena replicato via codice,immagino con il metodo 
db.Replicate(NOMESERVER), il collegamento al server suppongo sia già attivo.
Questo è un codice di esempio di quello che devi fare:
Dim Session as new NotesSession
dim dblocale as notesdatabase
set dblocale = session.getdatabase("", "mail.box") 'Punti alla Mailbox locale
dim col as notesdocumentcollection
set col = dblocale.AllDocuments 'Collezione di tutti i documenti
dim dbserver as notesdatabase 'Punti alla Mailbox del server
set dbserver = session.getdatabase(NOMESERVER, "mail.box")
if not dbserver.isopen then
  msgbox "Impossibile accedere alla posta del server"
  exit sub
end if
dim doc as notesdocument
dim docnext as notesdocument
dim docnew as notesdocument
set doc = col.getfirstdocument
do until  doc is nothing
 Set Docnew = Doc.CopyToDatabase(dbserver) 
 set docnext = col.getnextdocument(doc)
 call Doc.remove(true) 'Rimuovi ovviamente il doc dalla mailbox locale
 set doc = docnext
loop
Non ho testato il codice, magari c'è qualche errore di battitura, 
però il concetto dovrebbe essere chiaro...
Spero di esserti stato utile, fai sapere se è andato tutto ok.
Baci da Roma  :-)))))))))
-- 
Posted from  [212.210.32.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Vi ringrazio moltissimo per le risposte.
Domani al lavoro vedrň di riuscire ad applicare i suggerimenti.
Siete stati davvero gentili.
Ciao
Mauro