Lotus y VB de access 2007

f_alcon82
01 de Octubre del 2008
Buenas tengo una BD en access2007 y necesito enviar correos con Lotus.Tengo varios problemas.El 1 es que los mensajes enviados no me los guarda en la carpeta de enviados.
Y segundo es que con mi ID de lotus puedo entrar en varias cuentas de correos que desde el notes puedo acceder facilmente,pero cuando envio el correo desde VB me coge por defecto la Mia pero me gustaria poder enviarla desde la otra cuenta de correo que tenemos en comun en nuestro proyecto(es desde esta cuetna en la necesito enviar los correos)
el fuente es
Public Sub SendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean)

Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim maildoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)

Set session = CreateObject("lotus.NotesSession")

'Con esto el objeto nos pregunta la contraseña de acceso a la cuenta
Call session.Initialize("")
UserName = session.UserName
UserName = "CN=Spain QA BBVA/MAIL/OU=SPA/O=MAIL"

'Abrimos la base de datos de correos en notes
'en principio, funciona con una bbdd local
'MailDbName = <path al archivo nsf>
'o bien usando una genérica
MailDbName = "names.nsf"
Set Maildb = session.GETDATABASE("", MailDbName)
Server = session.GetEnvironmentString("MailServer", True)
If Maildb.ISOPEN = True Then
Else
Call Maildb.Open("", MailDbName)
End If
'Preparamos el mensaje
Set maildoc = Maildb.CREATEDOCUMENT
maildoc.APPENDITEMVALUE "SendTo", Recipient
maildoc.APPENDITEMVALUE "Form", "Memo"
maildoc.APPENDITEMVALUE "Subject", Subject
maildoc.APPENDITEMVALUE "Body", BodyText
'Preparamos el objeto embebido
If Attachment <> "" Then
Set AttachME = maildoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", Attachment, "Attachment")
End If
'Enviamos el documento
'maildoc.PostedDate = Now() 'Hace que el correo aparezca en elementos enviados
' maildoc.SEND 0, Recipient
maildoc.SaveMessageOnSend = True
maildoc.Send False
'Eliminamos los objetos creados
Set Maildb = Nothing
Set maildoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing

End Sub



drazil
01 de Octubre del 2008
Hola. Lo primero de todo: el fuente que has mandado está genial. Era exactamente lo que necesitaba hace tiempo y no era capaz de conseguir.
He hecho pruebas y sí te deja copia en el sent, pero tienes que usar el archivo .nsf con el que accedes al correo en lugar del genérico names.nsf (que en mi caso sólo lo uso para la libreta de direcciones).
Para enviarlo desde la otra cuenta que tenéis en común, tendrías que usar el .nsf que use esa cuenta. Yo lo he probado enviando un mensaje desde la cuenta de un compañero a la que puedo acceder con mi ID (usando su archivo .nsf) y ha funcionado: lo ha enviado desde su cuenta y ha dejado copia en su carpeta "sent". Espero que esto te haya ayudado