Envío de e-mail

Hola experto, sabes de alguna forma de enviar un e-mail un día especificado, ¿por ej. Un martes nada más arrancar la base de datos access?

1 Respuesta

Respuesta
1
Nunca me lo había planteado.. muy buena pregunta...
La verdad es que no es nada complicado...
No me indicas si el texto a remitir y el destinatario lo tendrás en una tabla o bien lo guardaremos en una variable...
Yo creo que es mejor crearse una tabla...
Nombre Tabla: tblMail
Campos: Id (Autonumérico), Destinatario (Texto), Asunto (Texto), Mensaje (Memo), UltimaFecha (Fecha)
Creamos una función en un módulo independiente...
Function EnviarMail()
Dim dbs as database
dim rst as recordset
On Error goto EnviarMail_Error
'Verificar si se trata del martes
if datepart("w",Date())=vbTuesday then
set dbs=Currentdb
set rst=dbs.OpenRecordset("tblMail")
if rst.RecordCount then
if rst!UltimaFecha <>Date() then
'Aún no se ha pasado el mail
DoCmd.SendObject , , , rst!Destinatario , , , rst!Asunto, rst!Mensaje, False
rst.Edit
rst!UltimaFecha=Date()
rst.Update
End if
end if
end if
EnviarMail_Exit:
On error resume next
rst.close : dbs.Close
Exit function
EnviarMail_Error:
msgbox err.number & " " & err.description,vbcritical
resume EnviarMail_Exit
End Function
Atención! Esta función NO REMITE AUTOMÁTICAMENTE EL MAIL.. sino que abre el programa asociado para el correo electrónico llenando todos los campos y esperando que el usuario confirme el envío del mail..
Ahora únicamente faltaría crear una macro llamada forzosamente AUTOEXEC
En Acción indica EjecutarCódigo y en Nombre de Función escribe textualmente y sin las comillas "EnviarMail()"
Esto provocará que cada vez que se inicie la base de datos se ejecute la función, que verificará si se trata del martes, y si existe algún registro para enviar el mail... también comprobará que no haya sido remitido el mismo día..
Espero haberte sido de ayuda..
Saludos.
Jordi Pérez i Madern
Mataró (Barcelona)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas