Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/03/2004, 12:56
Avatar de pabli
pabli
 
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 6 meses
Puntos: 0
En principio yo no he creado el objeto como tú lo has hecho. Quizá ese sea el error.
Te paso dos funciones que están muy bien. No las utilizo desde hace años.
Para seguir mi ejemplo tienes que añadir el componente "MAPI Controls".
Agregas los dos controles al formulario y ya está. Esos controles se los pasas a las llamadas de la funciones.

Código:
Inicio_Mail(.......)
Send_Mail(.......)
'*********************************************************************************************************************************************************************
'** FUNCION Inicio_Mail
'** Descripcion: Esta funcion se encarga de iniciar la sesion del mail
'** Parametros:
'**     Login: - Tipo String por valor
'**            - Con esta variable contiene el valor del usuario de mail
'**
'**     Password: - Tipo String por valor
'**               - Esta variable contiene el password del usuario de mail
'**
'**     Opcion: - Tipo boolean por valor
'**             - Esta variable contiene la informacion necesaria para abrir varias sesiones distintas
'**
'**     MSesion: - Tipo MAPISession por referencia
'**              - Esta variable contiene la informacion para abrir sesiones
'**
'**     MMensaje: - Tipo MAPIMessages por referencia
'**               - Esta variable contiene la informacion para poder enviar mensajes
'**
'** Variables globales que modifica: N/A
'** Referencia a Funciones: N/A
'** Valores devueltos:
'**     - 0 --> La funcion se ha realizado correctamente.
'**     - 1 --> La funcion no se ha completado correctamente.
'**********************************************************************************************************************************************************************
Function Inicio_Mail(ByVal Login As String, ByVal Password As String, ByVal Opcion As Boolean, ByRef MSesion As MAPISession, ByRef MMensaje As MAPIMessages) As Integer
'Control de Errores
On Error GoTo CONTROL_ERRORES:

'Abrir sesion MAPI
MSesion.UserName = Login

'***** OJO  TOCADO POR NOSOTROS  ******
'MSesion.NewSession = Opcion
'MSesion.SignOn
'Sincronizar la Sesion con los Mensajes
MSesion.Action = 1
'**************************************

MMensaje.SessionID = MSesion.SessionID

Inicio_Mail = 0
Exit Function
'Control de Errores
CONTROL_ERRORES:
If Err.Number <> 0 Then
    Inicio_Mail = 1
    Exit Function
End If
End Function

'***********************************************************************************************************
'** FUNCION Send_Mail
'** Descripcion: Esta funcion se encarga de enviar un mail dependiendo de los parametros
'** Parametros:
'**     Direccion: - Tipo String por valor
'**                - Con esta variable contiene la direccion de correo electronico
'**
'**     Titulo: - Tipo String por valor
'**             - Con esta variable contiene el titulo del correo electronico
'**
'**     Texto: - Tipo String por valor
'**            - Con esta variable contiene el texto del correo electronico
'**
'**     Path_Fichero: - Tipo String por valor
'**                   - Esta variable contiene la informacion sobre donde se encuentra el fihcero a incluir
'**
'**     Nombre_Fichero: - Tipo String por valor
'**                     - Esta variable contiene la informacion sobre donde se encuentra el fihcero a incluir
'**
'** Variables globales que modifica: N/A
'** Referencia a Funciones: N/A
'** Valores devueltos:
'**     - 0 --> La funcion se ha realizado correctamente.
'**     - 1 --> La funcion no se ha completado correctamente.
'***********************************************************************************************************
Function Send_Mail(ByVal Direccion As String, ByVal Titulo As String, ByVal Texto As String, ByVal Path_Fichero As String, ByVal Nombre_Fichero As String, ByRef MMensaje As MAPIMessages, ByVal Attach As Boolean) As Integer
'Control Errores
On Error GoTo CONTROL_ERRORES:

If Attach Then
    'Enviar Mensaje
    MMensaje.Compose
    MMensaje.RecipDisplayName = Direccion
    MMensaje.MsgSubject = Titulo
    MMensaje.MsgNoteText = Texto & Chr(vbKeyTab)
    MMensaje.AttachmentIndex = 0
    MMensaje.AttachmentType = 0
    MMensaje.AttachmentPosition = Len(MMensaje.MsgNoteText) - 1
    MMensaje.AttachmentPathName = Path_Fichero & Nombre_Fichero
    MMensaje.Send
Else
    'Enviar Mensaje
    MMensaje.Compose
    MMensaje.RecipDisplayName = Direccion
    MMensaje.MsgSubject = Titulo
    MMensaje.MsgNoteText = Texto
    MMensaje.Send
End If

Send_Mail = 0
Exit Function
'Control Errores
CONTROL_ERRORES:
If Err.Number <> 0 Then
    'MsgBox "Error Mandando mail. " & Err.Description
    Send_Mail = 1
    Exit Function
End If
End Function
Espero que te sirva
Pablo