Correo en un servidor Exchange

16/04/2010 - 19:35 por Lazar | Informe spam
Hola
Access 2003 y Outlook 2003 en una Intranet con un servidor Exchange
Estoy intentando que Access envie un correo y no lo consigo, justo lanzar el
procedimiento , obtengo este error :

Error - 2147219712 [Collaboration Data Objects -
[MAPI_E_AMBIGUOUS_RECIP(80040700)]]

El código que utilizo , esta copiado de Microsoft :


'--
' This procedure sets an object variable to the MAPI Session object
' using the CreateObject() function. Then, it logs on to the session
' using a predefined profile. As soon as you are logged on,
' the procedure creates
' a new message and adds it to the Messages collection of the Outbox
' of the user. Then, it creates two recipients (one on the TO: line and
' one on the CC: line) and then adds both to the Recipients collection
' of the message. Next, it resolves the names of all recipients.
' Then, it attaches a sample file before filling in the Subject,
' Text, and Importance attributes of the message.
'--
Sub SendMAPIMessage(Destinatario As String, _
Optional ConCopia As String, _
Optional ConCopiaOculta As String, _
Optional DireccionAdjunto As String, _
Optional NombreAdjunto As String, _
Optional ElAsunto As String = "Un asunto", _
Optional ElMensaje As String = "Un cuerpo de
mensaje")

Dim MapiSession As Object
Dim MapiMessage As Object
Dim MapiRecipient As Object
Dim MapiAttachment As Object
Dim Recpt
Dim errObj As Long
Dim errMsg

On Error GoTo MAPITrap
' Create the MAPI Session.
Set MapiSession = CreateObject("Mapi.Session")

' Log on to the session. If the ProfileName argument is omitted,
' Microsoft Exchange prompts you for the profile to use. If the
' profile name is incorrect, you receive a runtime error.
MapiSession.Logon profilename:="Default Outlook Profile"
' Add a message to the Outbox.
Set MapiMessage = MapiSession.Outbox.Messages.Add

' Add the recipients of the message. Note, each recipient must be
' added separately to the Recipients collection of the Message
' object.

With MapiMessage
Set MapiRecipient = MapiMessage.Recipients.Add
MapiRecipient.Name = Destinatario
MapiRecipient.Type = mapiTo
Set MapiRecipient = MapiMessage.Recipients.Add
MapiRecipient.Name = ConCopia
MapiRecipient.Type = mapiCc
Set MapiRecipient = MapiMessage.Recipients.Add
MapiRecipient.Name = ConCopiaOculta
MapiRecipient.Type = mapiBcc

' Resolve each recipient's e-mail name.
' Starting with Outlook version 8.03 (ref. Q172623)
' OLE Messaging 1.0 was replaced with Active Messaging 1.1.
' Outlook 98 (version 8.5) replaced Active Messaging
' with Microsoft CDO (Collaborative Data Objects) 1.21.
' OLE Messaging 1.0 uses a zero-based Recipients collection;
' Active Messaging 1.1 and Microsoft CDO 1.21 are 1-based.
For Recpt = 1 To .Recipients.Count
.Recipients(Recpt).Resolve showdialog:=False
Next

' Attach a file to the message.
Set MapiAttachment = MapiMessage.Attachments.Add
With MapiAttachment
.Name = NombreAdjunto
.Type = mapiFileData
.Source = DireccionAdjunto
.ReadFromFile FileName:=DireccionAdjunto
.Position = 2880
End With

' Assign the text, subject, and importance of the message.
.Subject = ElAsunto
.Text = ElMensaje
.Importance = mapiHigh

' View the message in Microsoft Exchange before sending. Set
' the ShowDialog argument to False if you want to send the
' message without viewing it in Microsoft Exchange.
.Send showdialog:=True
End With
Set MapiSession = Nothing ' Clear the object variable.

MAPIExit:
Exit Sub

MAPITrap:
errObj = Err - vbObjectError ' Strip out the OLE automation error.
Select Case errObj
Case 275 ' User cancelled sending of message.
Resume MAPIExit
Case Else
errMsg = MsgBox("Error " & Err.Number & " " &
Err.Description)
errMsg = MsgBox("Error " & errObj & " was returned.")
Resume MAPIExit
End Select
End Sub


Gracias por la ayuda que podais prestarme

Saludos
Ramon




begin 666 Ramon.vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..CM286UO;CM0:6-O#0I&3CI2
M86UO;@T*14U!24P[4%)%1CM)3E1%4DY%5#IR<&EC;VQR87)R;V)A=&5L969O
M;FEC87!U;G1O;F5T#0I2158Z,C Q,# T,394,3<S-3$S6@T*14Y$.E9#05)$
"#0H`
`
end
 

Leer las respuestas

#1 José Mª Fueyo
17/04/2010 - 20:28 | Informe spam
Hola
Desactiva el control de errores, y así podrás ver en que linea exactamente
se produce el error.

Salu2
José Mª Fueyo
[MS MVP Access]


__________ Información de ESET Smart Security, versión de la base de firmas de virus 5036 (20100417) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

Preguntas similares