*####################################################
Codigo fuente para Oracle - Forms 6i.
Este procedimiento envia un email a traves de Lotus Notes.
El procedimiento lo puedes llamar:
M_body Varchar2(1000); -- Ejemplo de variable
proc_send_mail ( M_recipient , M_Copy ---copy_to_in , M_BCopy ---blind_copy_to_in
, m_subject ---subject_in
, m_body ---text_in
, 'Y' ---return_receipt_in
, ''--, 'R' ---mood_stamp_in
, 11) ; ---view_icon_in 11 de informacion llegan hasta 175 iconos
--Para sacar los diferentes iconos que tiene lotus.
FOR I IN 1..175 LOOP
m_subject := 'Icono: '||I;
proc_send_mail (m_recipient
, '' ---copy_to_in
, '' ---blind_copy_to_in
, m_subject ---subject_in
, m_body ---text_in
, 'Y' ---return_receipt_in
, ''--, 'R' ---mood_stamp_in
, I) ; ---view_icon_in 96
END LOOP;
Espero les sirva, att. Simon Guerrero Ushakov.
####################################################*/
PROCEDURE p_envia_mail (recipient_in IN VARCHAR2
, copy_to_in IN VARCHAR2
, blind_copy_to_in IN VARCHAR2
, subject_in IN VARCHAR2
, text_in IN VARCHAR2
, return_receipt_in IN VARCHAR2
, mood_stamp_in IN VARCHAR2
, view_icon_in IN NUMBER) IS
l_args ole2.list_type;
l_db ole2.obj_type;
l_doc ole2.obj_type;
l_return_receipt VARCHAR2(1);
l_session ole2.obj_type;
BEGIN
l_session := ole2.Create_Obj('Notes.NotesSession');
l_args := ole2.Create_Arglist;
ole2.Add_Arg(l_args, '');
ole2.Add_Arg(l_args, 'names.nsf');
l_db := ole2.Invoke_Obj(l_session, 'GetDatabase', l_args);
ole2.Destroy_Arglist(l_args);
l_doc := ole2.Invoke_Obj(l_db, 'CreateDocument');
ole2.Set_Property(l_doc, 'SendTo', recipient_IN);
IF copy_to_IN IS NOT NULL then
ole2.Set_Property(l_doc, 'CopyTo', copy_to_IN);
END IF;
IF blind_copy_to_IN IS NOT NULL then
ole2.Set_Property(l_doc, 'BlindCopyTo', blind_copy_to_IN);
END IF;
-- ''- Normal P - Personal
-- C - Confidential R - Private
-- F - Flame Q - Question
-- G - Good Job! M - Reminder
-- J - Joke T - Thank You!
IF mood_stamp_IN IS NOT NULL then
ole2.Set_Property(l_doc, 'SenderTag', mood_stamp_IN);
END IF;
IF subject_IN IS NOT NULL then
ole2.Set_Property(l_doc, 'Subject', subject_IN);
END IF;
IF text_IN IS NOT NULL then
ole2.Set_Property(l_doc, 'Body', text_IN);
END IF;
-- 1-Return Receipt 0-No Return Receipt
l_return_receipt :=
TRANSLATE(NVL(UPPER(return_receipt_IN), 'N'), ' NY', '001');
ole2.Set_Property(l_doc, 'ReturnReceipt', l_return_receipt);
IF l_return_receipt = '1' then
ole2.Set_Property(l_doc, 'DeliveryReport', 'B');
END IF;
IF view_icon_IN IS NOT NULL then
ole2.Set_Property(l_doc, '_ViewIcon', view_icon_IN);
END IF;
l_args := ole2.Create_Arglist;
--ole2.Add_Arg(l_args, PROPERTY_TRUE);
ole2.Add_Arg(l_args, '0');
ole2.Invoke(l_doc, 'Send', l_args);
ole2.Destroy_Arglist(l_args);
ole2.Release_Obj(l_session);
ole2.Release_Obj(l_db);
ole2.Release_Obj(l_doc);
EXCEPTION
when others then
Message('Unable to send mail to ' || recipient_IN);
Set_Application_Property(CURSOR_STYLE, 'DEFAULT');
RAISE;
END;
Comentarios sobre la versión: Versión 1 (3)
si de hay alguna manera de acerlo para que adjunte archivo....
Gracia