94 lines
3.2 KiB
Plaintext
94 lines
3.2 KiB
Plaintext
{
|
|
------------------------------------------------------------------------
|
|
FORMULARIO : SENDEMAIL
|
|
OBJETIVO : Herramienta para enviar emails masivos
|
|
PROGRAMADOR : Ing. Juan Soto.
|
|
FECHA REALIZACION : Diciembre 7, 2021
|
|
|
|
-----------------------------------------------------------------------------
|
|
}
|
|
IMPORT JAVA javax.mail.Session
|
|
|
|
GLOBALS "noprgb000.4gl"
|
|
|
|
DEFINE genera CHAR(2),
|
|
xingresos,xdescuentos DEC(12,2),
|
|
num_Doc,email_err,cuenta_envio,num_nomi_ant INT,
|
|
estado_Envio VARCHAR(50),
|
|
vendedorEmail,emailCC VARCHAR(60),cuerpo_correo VARCHAR(2000),
|
|
subject VARCHAR(100), perfil,procedimiento VARCHAR(60),nombre_file,nombre_empleado VARCHAR(80)
|
|
|
|
DEFINE sesion Session,
|
|
password,s_protocol,respuesta,mensajes STRING
|
|
|
|
DEFINE meses ARRAY[12] OF CHAR(15)
|
|
|
|
|
|
DEFINE criterio10 CHAR(200)
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL STARTLOG("emailmarketing.txt")
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
CALL ARG_VAL(3) RETURNING impresor
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
CALL enviaemailMain()
|
|
END MAIN
|
|
#"file:///f:/master/IMAGENES/LOGO.JPG"
|
|
#"file:///C://Users//jsoto//Documents//PROYECTOS//BDL320//MARMOTECH//PROYECTO//bin//IMAGENES//LOGO_DCM.PNG"
|
|
|
|
FUNCTION enviaemailMain()
|
|
|
|
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
|
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
|
r_output STRING, -- output format option
|
|
preview INTEGER, -- TRUE/FALSE, to set preview option
|
|
retorne BOOLEAN,
|
|
xemail VARCHAR(100)
|
|
|
|
|
|
|
|
IF NOT validate_param_smpt_auth() THEN
|
|
CALL FGL_WINMESSAGE("INFO","NO EXISTE CONEXION","INFO")
|
|
END IF
|
|
|
|
CALL create_cxion_session() RETURNING sesion,password,s_protocol
|
|
|
|
LET cuenta_Envio = 0
|
|
|
|
|
|
|
|
# LET subject = datos_recibo.nom1_emp CLIPPED," ",datos_recibo.apell1_emp CLIPPED,"(",datos_recibo.num_emp USING "<<<<",")"
|
|
LET subject = "LANZAMIENTO TIENDA VIRTUAL "
|
|
|
|
|
|
LET cuerpo_correo = "<img src='https://ws.marmotech.com.do/imagenes/arte.png' width='500' height='600' loading='eager'>"
|
|
|
|
DECLARE busca_email CURSOR FOR
|
|
SELECT DISTINCT a.email,a.fecha_ultima_venta INTO xemail FROM emailmarketing a WHERE estado IS NULL AND (
|
|
a.email not like '%<%' AND a.email NOT LIKE '%;%')
|
|
ORDER BY a.fecha_ultima_venta DESC
|
|
|
|
FOREACH busca_email
|
|
DISPLAY "data email ",xemail," ",subject," ",cuerpo_correo," ",sesion," ",password," ",s_protocol
|
|
|
|
TRY
|
|
CALL enviaemail(xemail,subject,cuerpo_correo,sesion,password,s_protocol) RETURNING retorne
|
|
CATCH
|
|
LET estado_Envio = 'ERROR ENVIO'
|
|
UPDATE emailmarketing SET fecha_Envio = getdate(),estado = 'ERROR ENVIO' WHERE email = xemail
|
|
END TRY
|
|
UPDATE emailmarketing SET fecha_Envio = getdate(),estado = 'ENVIO SATISFACTORIO' WHERE email = xemail
|
|
LET estado_envio = 'ENVIO SATISFACTORIO'
|
|
LET cuenta_envio = cuenta_Envio + 1
|
|
IF cuenta_Envio > 450 THEN
|
|
EXIT FOREACH
|
|
END IF
|
|
END FOREACH
|
|
|
|
|
|
|
|
END FUNCTION
|