Enviar correo
De GrialWIKI
Enviar un correo interno a uno o más usuarios
Se debe utilizar el:
PACKAGE BODY SIGSA.PA_SYSFUNC_CORREO PROCEDURE SEND( P_TITULO_IN IN varchar2 , P_TOUSERS IN varchar2 , P_MSG IN varchar2 , P_ERROR OUT varchar2)
Ejemplo desde PL/SQL:
declare w_errmsg varchar2(600); begin PA_SYSFUNC_CORREO.SEND('test', 'LTATO,MGRUNEWALD,HVULCANO' , 'Texto del mensaje', w_errmsg) if w_errmsg is NOT NULL then raise_application_error(-20101, w_errmsg || ' enviando correo'); end if;
si w_errmsg vuelve con NULL entoces anduvo ok. Si no es NULL, en w_errMsg está el mensaje de error.
Ejemplo desde Visual Basic:
Dim Grq as new GrialQuery Grq.Init "EXECUTE: PA_SYSFUNC_CORREO.SEND;'test';" & _ "'LTATO,MGRUNEWALD,HVULCANO';'Texto del mensaje';o:TEXTOERR:String" GrialCont.LoadData Grq if DataIn(Grq.Rst!TEXTOERR) then MsgBox Grq.Rst!TEXTOERR,VbCritical,"Enviando Correo" end if
Flagear el Mailbox
Para refrescar el el listado de correos pendientes que se muestra en la pantalla principal del menu, se debe "marcar" la casilla de correo (Mailbox) del usuario. Esta marca le indica al menú principal, que hay nuevos correos y que debe refrescar la lista. Para realizar la marca:
Para un solo usuario:
Dim Grq as New GrialQuery Dim Dato_SocUsua01_Nombre as String Dato_SocUsua01_Nombre = "LTATO" Grq.Init "Correo:FlagMailBox:" & Dato_SocUsua01_Nombre GrialCont.LoadData Grq
Para múltiples usuarios:
(se agrega la lista de nombres separada por comas)
Dim ListaUsuariosGrq as New GrialQuery, Grq as New GrialQuery ListaUsuariosGrq.Init "Select SocUsua01_Nombre from SOC_USUA_01N" & _ " Where SocUsua01_Nombre like 'L%'" GrialCont.LoadData ListaUsuariosGrq 'Carga una lista arbitraria if ListaUsuariosGrq.RecCount>0 then Grq.Init "Correo:FlagMailBox:" & ListaUsuariosGrq.ValueList("SocUsua01_Nombre") GrialCont.LoadData Grq 'marca casillas End If
Otro Ejemplo:
Con la lista de usuarios prefijada
Grq.Init "Correo:FlagMailBox:LTATO,MGRUNEWALD,HVULCANO" GrialCont.LoadData Grq