// Definir estas variables de instancia (ventana)...
mailSession mSes
mailReturnCode mRet
mailMessage mMsg
string file_name // variable de instancia (ventana) que contiene el nombre del archivo (adjunto) que quieras enviar...
// Objetos de la ventana...
// dw_para --> dw para seleccionar a quien enviar...
// columna "si_no" con 1 indica enviar, con 0 indica no enviar.
// columna "e_mail" correo del destinatario.
// columna "nombre" nombre de la persona destino.
//
// mle_text.Text --> caja (multilinea) con texto a enviar...
//
------------------------------------------------------------
// Script para enviar (puede ser un botón...
long ll_row, ll_rows
string mensaje
int contador, persona
string file_persona
IF mle_text.Text = "" AND file_name="" then
MessageBox("Error!", "No hay nada que enviar!")
ELSE
// Crear sesion de correo
mSes = create mailSession
// Logear sesion
mRet = mSes.mailLogon(mailNewSession!)
IF mRet <> mailReturnSuccess! THEN
MessageBox("Correo", 'Logon fallido.')
RETURN
END IF
ll_row=1
ll_rows=dw_para.RowCount()
DO until ll_row > ll_rows
IF dw_para.GetItemString(ll_row,"si_no")="1" THEN EXIT
ll_row++
LOOP
IF ll_row > ll_rows THEN
MessageBox("Error!", "No hay destinatarios seleccionados")
ELSE
ll_row=1
DO WHILE ll_row <= ll_rows
// Seleccion a enviar
IF dw_para.GetItemString(ll_row,"si_no")="1" THEN
mMsg.recipient[1].name = dw_para.GetItemString(ll_row,"e_mail")
mMsg.Subject = "Atencion: "+ dw_para.GetItemString(ll_row,"nombre")
mMsg.NoteText = mle_text.text
// Archivo anexo.
IF file_name<>"" THEN
mMsg.attachmentfile[1].filename = file_name
mMsg.attachmentfile[1].pathname = file_name
END IF
// Enviar correo.
mRet = mSes.mailSend(mMsg)
IF mRet <> mailReturnSuccess! THEN
MessageBox('Error: Correo no enviado!', dw_para.GetItemString(ll_row,"nombre")+": "+dw_para.GetItemString(ll_row,"e_mail"))
END IF
END IF
ll_row++
LOOP
file_name=""
sle_file.Text=""
mSes.mailLogoff()
DESTROY mSes
END IF
END IF
// Fin del script....