Mail por Forms 6i
Tengo este procedimiento para enviar mails por forms, pero solo consigo adjuntar un documento, no dos que es lo que quiero hacer realmente. Los ficheros que quiero adjuntar los envio por parametros, son adjunto1 y adjunto2 .
¿Puedes decirme como adjuntar los dos ficheros? Tambien tengo la duda sobre el parametro "De", o sea el email del que esta enviando el correo, ya que no aparece, he pensado incluir un parametro igual que hago con el "to", pidiendolo en el form pero no se si hay alguna forma automatica para que coja directamente la cuenta predeterminada en outlook.
Bueno, te escribo el procedimiento. Gracias por leerme
PROCEDURE enviarmail (adjunto1 varchar2 ,adjunto2 varchar2)IS
objOutlook OLE2.OBJ_TYPE;
objMail OLE2.OBJ_TYPE;
objArg OLE2.LIST_TYPE;
objAttach OLE2.OBJ_TYPE;
BEGIN
objOutlook := OLE2.CREATE_OBJ('Outlook.Application');
objarg := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(objarg,0);
objMail := OLE2.INVOKE_OBJ(objOutlook,'CreateItem',objarg);
OLE2.DESTROY_ARGLIST(objarg);
objAttach := OLE2.GET_OBJ_PROPERTY(objmail, 'Attachments');
objarg := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(objarg,adjunto1||';'||adjunto2);
OLE2.SET_PROPERTY(objmail,'To',:para);
OLE2.SET_PROPERTY(objmail,'Subject',:asunto);
OLE2.SET_PROPERTY(objmail,'Body',:texto);
OLE2.INVOKE(objattach, 'Add', objarg);
OLE2.INVOKE(objmail,'Send');
OLE2.INVOKE(objmail,'Display');
OLE2.RELEASE_OBJ(objmail);
OLE2.RELEASE_OBJ(objOutlook);
OLE2.DESTROY_ARGLIST(objarg);
Message('Su email ha sido creado correctamente, conectese a Outlook para enviarlo.');
Message('Su email ha sido creado correctamente, conectese a Outlook para enviarlo.');
EXCEPTION
WHEN OTHERS THEN
MESSAGE('No se ha podido enviar el email,lo siento');
MESSAGE('No se ha podido enviar el email,lo siento');
END;
¿Puedes decirme como adjuntar los dos ficheros? Tambien tengo la duda sobre el parametro "De", o sea el email del que esta enviando el correo, ya que no aparece, he pensado incluir un parametro igual que hago con el "to", pidiendolo en el form pero no se si hay alguna forma automatica para que coja directamente la cuenta predeterminada en outlook.
Bueno, te escribo el procedimiento. Gracias por leerme
PROCEDURE enviarmail (adjunto1 varchar2 ,adjunto2 varchar2)IS
objOutlook OLE2.OBJ_TYPE;
objMail OLE2.OBJ_TYPE;
objArg OLE2.LIST_TYPE;
objAttach OLE2.OBJ_TYPE;
BEGIN
objOutlook := OLE2.CREATE_OBJ('Outlook.Application');
objarg := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(objarg,0);
objMail := OLE2.INVOKE_OBJ(objOutlook,'CreateItem',objarg);
OLE2.DESTROY_ARGLIST(objarg);
objAttach := OLE2.GET_OBJ_PROPERTY(objmail, 'Attachments');
objarg := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(objarg,adjunto1||';'||adjunto2);
OLE2.SET_PROPERTY(objmail,'To',:para);
OLE2.SET_PROPERTY(objmail,'Subject',:asunto);
OLE2.SET_PROPERTY(objmail,'Body',:texto);
OLE2.INVOKE(objattach, 'Add', objarg);
OLE2.INVOKE(objmail,'Send');
OLE2.INVOKE(objmail,'Display');
OLE2.RELEASE_OBJ(objmail);
OLE2.RELEASE_OBJ(objOutlook);
OLE2.DESTROY_ARGLIST(objarg);
Message('Su email ha sido creado correctamente, conectese a Outlook para enviarlo.');
Message('Su email ha sido creado correctamente, conectese a Outlook para enviarlo.');
EXCEPTION
WHEN OTHERS THEN
MESSAGE('No se ha podido enviar el email,lo siento');
MESSAGE('No se ha podido enviar el email,lo siento');
END;
2 Respuestas
Respuesta de consite
1
Respuesta de xinjiachen galuminium