Con esta función se consigue enviar un
correo utilizando las librerias de outlook. existen varias opciones
tanto de formato como de tipo de envio ya sea enviado directamente o
levantando el cliente Outlook para comprobar antes de enviar. Para ello
primero vamos a crear dos variables locales tipo automation asignando librerias de Outlook.
- OMail Automation 'Microsoft Outlook 9.0 Object ibrary'.MailItem
- OApp Automation 'Microsoft Outlook 9.0 Object ibrary'.Application
- OApp Automation 'Microsoft Outlook 9.0 Object ibrary'.Application
En este caso se ha puesto la versión 9.0 porque es la versión
que tengo instalada en mi equipo. Es necesario que todos los equipos desde
donde se va lanzar esta función tengan instalada mínimo la misma versión con la
que se han definido las variables. No habría problema con los equipos que
tengan instalada una versión superior de las librerías ya que leerían las dll
perfectamente no asi los equipos con versiones anteriores.
la funcion creada tiene varios parámetros :
eMail - dirección de correo del o de los destinatarios.
RutaPlantilla - Es la ruta al fichero de plantilla con la que abrir el correo.
RutaYFichero - Ruta del documento adjunto.
MostrarCorreo - Es un booleano para determinar si queremos o no levantar el cliente Outlook antes de enviar el correo
RutaPlantilla - Es la ruta al fichero de plantilla con la que abrir el correo.
RutaYFichero - Ruta del documento adjunto.
MostrarCorreo - Es un booleano para determinar si queremos o no levantar el cliente Outlook antes de enviar el correo
IF ISCLEAR(OApp) THEN
CREATE(OApp,FALSE,TRUE);
//OMail := OApp.CreateItem(0); //Si NO utilizamos plantillas
OMail := OApp.CreateItemFromTemplate(rutaplantilla); //Si se usan plantillas
OMail."To":=eMail;
IF RutayFichero <> '' THEN
OMail.Attachments.Add(RutayFichero); //Si queremos adjuntar un fichero
OMail.Subject :=Asunto;
//OMail.Body := ‘El cuerpo del mensaje’; //O ponemos este código o el de la plantilla.
//OMail.OriginatorDeliveryReportRequested := TRUE; //Confirmación de recepción.
//OMail.ReadReceiptRequested := TRUE; //Confirmación de lectura.
IF MostrarCorreo=TRUE THEN
OMail.Display //levanta el cliente correo si no se llama a esta funcion envai el correo directamente.
ELSE
OMail.Send;
No hay comentarios:
Publicar un comentario