La Web del Programador: Comunidad de Programadores
 
    Pregunta:  42223 - MAIL AUTOMÁTICO
Autor:  Vicente Bautista Laguna
Hola a todos,
Tengo un programa que envía automáticamente un correo por medio de Lotus Notes, todo funciona bien ejecutandolo en local, el problema es cuando desde Terminal Server quiero ejecutar este programa, mis dudas son las siguientes:
1. ¿Puedo recuperar de alguna manera la cuenta de Lotus que tiene el usuario en local?, quisiera que el programa gestionara estos envíos desde la cuenta de correo de cada usuario.
2. He podido ver en preguntas respuestas anteriores que en los ejemplos que se dan de envíos automáticos no se está utilizando el OpenMail(), si yo no lo utilizo me dice que la base de datos no está aún abierta, ¿que estoy haciendo mal?
Os envío mi programa para que veais sis está bien.

createobject class("Notes.NotesSession") Target(Lnotes)
db = Lnotes.GETDATABASE("", "")
db.openmail() //open mail for current user
doc= db.createdocument()
doc.form="Memo"
doc.SendTo=IoDirMail.Text
doc.subject = gFunciones.fConcat('Notificación modificación de Campaña :', %SUBST($comunicado(LvComunicado), 4), '', 1)

doc.SaveMessageOnSend=1
doc.logo="StdNotesLtr16" // Logo.
rti=doc.CreateRichtextitem("Body")
rti.embedobject(1454, "", pdestination)// tu fichero
doc.send(1)

//limpiar objetos
Lnotes=*nothing
db=*nothing
doc=*nothing
rti=*nothing
msgbox Msg('Informe enviado por Lotus Notes') Title(*ThisForm.Caption) icon(*Information)

Muchas gracias.
Un saludo.
Vicente.

  Respuesta:  José Luis Campos Olmedo
Mira el siguiente código en VB. Yo lo he utilzado y habre la sesión con el usuario que este instaldo en la máquina cliente.


Dim oDNSesion As New Domino.NotesSession
Dim oDNDBBaseDatos As New Domino.NotesDatabase
Dim oDNDBActualBD As New Domino.NotesDatabase
Dim oDNDDirectorio As New Domino.NotesDbDirectory

oDNSesion.Initialize sClave

Set oDNDDirectorio = oDNSesion.GetDbDirectory(sServidor)
Set oDNDBActualBD = oDNDDirectorio.OpenMailDatabase
Set oDNDBBaseDatos = oDNSesion.GetDatabase(oDNDBActualBD.Server, "Mail\" & oDNDBActualBD.FileName)