# DLL Envío de correo (adinfMail.v.3.1.1)

**URL:** <https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738>\
**Category:** Velneo\
**Created:** [5 Octubre, 2011 22:45 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738 "2011-10-05T22:45:04Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roberto\_Blasco](https://avatars.discourse-cdn.com/v4/letter/r/5f8ce5/32.png) [@Roberto\_Blasco](https://foros.velneo.com/u/Roberto_Blasco)\
**Post date:** [5 Octubre, 2011 22:45 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/1 "2011-10-05T22:45:04Z")

</div>

Liberado el módulo de envío de correo para la comunidad de Velneo.

[https://docs.google.com/leaf?id=0B9pzI\_gvCYWMYzc2YzU0Y2ItYTQ2NC00YjYyLTkyZTktZDdhNzIxZWQ3MjU5&hl=en\_US](https://docs.google.com/leaf?id=0B9pzI_gvCYWMYzc2YzU0Y2ItYTQ2NC00YjYyLTkyZTktZDdhNzIxZWQ3MjU5&hl=en_US)

> - Funciones generales  
> ---------------------  
> (F) char\* version(void)  
> (F) char\* about(void)  
> (F) char\* nombre(void)
> 
> - Funciones y propiedades del objeto smtp  
> -----------------------------------------  
> (F) BOOL mailManagerSMTPInit(void)  
> (F) void mailManagerSMTPClose(void)  
> (F) void mailManagerSmtpClear(void)  
> (F) void setSmtpHost(const char\* smtphost)  
> (F) void setSmtpPort(long port)  
> (F) void setSmtpUsername(const char\* username)  
> (F) void setSmtpPassword(const char\* passwd)  
> (F) void setSmtpSSL(BOOL ssl)  
> (F) BOOL verifySMTPConnection(void)  
> (F) BOOL verifySmtpLogin(void)
> 
> - Funciones y propiedades del objeto mail asociado al envío de correo (smtp)  
> ----------------------------------------------------------------------------  
> (F) void clearEmail(void)  
> (F) void addTo(const char\* friendly\_name, const char\* email\_address)  
> (F) void clearTo(void)  
> (F) void addCC(const char\* friendly\_name, const char\* email\_address)  
> (F) void clearCC(void)  
> (F) void addBcc(const char\* friendly\_name, const char\* email\_address)  
> (F) void clearBcc(void)  
> (F) void putFromName(const char\* from\_name)  
> (F) void putFromAddress(const char\* from\_address)  
> (F) void putSubject(const char\* subject)  
> (F) void putPlaintTextBody(const char\* plaintext\_body)  
> (F) void addHtmlBody(const char\* html\_body)  
> (F) void addFileAttachment(const char\* filename)  
> (F) void clearFileAttachments(void)  
> (F) BOOL sendMail()  
> (F) char\* getMimeSmtpEmail(void)
> 
> ========================================================================================  
> (F) No necesita Clave (B) Necesita Clave  
> ========================================================================================
> 
> - Descripción de las funciones  
> ------------------------------
> 
> (\*) char\* version(void)  
> -----------------------  
> - Descripción: Devuelve la versión de la dll  
> - No acepta parámetros  
> - Retorno: (char\*) Texto con la versión de la dll
> 
> char\* about(void)  
> -----------------  
> - Descripción: Información sobre adinf  
> - No acepta parámtros  
> - Retorno: (char\*) Texto con la información sobre adinf
> 
> char\* nombre(void)  
> ----------------------  
> - Descripción: Nombre de la dll  
> - No acepta parámetros  
> - Retorno: (char\*) Texto con el nombre de la dll
> 
> BOOL mailManagerSMTPInit(void)  
> ------------------------------  
> - Descripción: Inicializa el objeto SMTP. Necesario para empezar a trabajar con el envío de correos.  
> - No acepta parámetros  
> - Retorna 1/0 (1 tiene éxito, 0 no lo tiene)
> 
> void mailManagerSMTPClose(void)  
> -------------------------------  
> - Descripción: Cierra el objeto SMTP.  
> Algunos servidores SMTP no envían los correos electrónicos hasta que se cierra la conexión.  
> En estos casos, es necesario llamar a esta función para que los correos sean enviados.  
> Aunque la mayoría de los servidores SMTP envían los correos de forma inmediata, no está de más aplicar la función para prevenir estos comportamientos.ç  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> void mailManagerSmtpClear(void)  
> -------------------------------  
> - Descripción: Limpia el objeto SMTP. Útil en el caso de que los queramos volver a utilizar con otros valores una vez que ha sido inicializado.  
> - No aceptar parámetros  
> - No devuelve ningún valor
> 
> void setSmtpHost(const char\* smtphost)  
> --------------------------------------  
> - Descripción: Establece la propiedad host del objeto SMTP  
> p.e. setSmtpHost("smtp.gmail.com")  
> - parámetro 1: (const char\*) host  
> - No devuelve ningún valor
> 
> void setSmtpPort(long port)  
> ---------------------------  
> - Descripción: Establece la propiedad port del objeto SMTP  
> p.e. setSmtpPort(465)  
> - parámetro 1: (int) port  
> - No devuelve ningún valor
> 
> void setSmtpUsername(const char\* username)  
> ------------------------------------------  
> - Descripción: Estable la propiedad username para la autenticación del servidor SMTP si procede  
> p.e. setSmtpUsername("usuario")  
> - parámetro 1: (const char\*) usuario  
> - No devuelve ningún valor
> 
> void setSmtpPassword(const char\* passwd)  
> ----------------------------------------  
> - Descripción: Establece la propiedad password para la autenticación del servidor SMTP si procede  
> p.e. setSmtpPassword("1234")  
> - parámetro 1: (const char\*) passwd  
> - No devuelve ningún valor
> 
> void setSmtpSSL(BOOL ssl)  
> -------------------------  
> - Descripción: Establece un tune SSL contra el servidor SMTP si fuera necesario  
> p.e. setSmtpSSL(1);  
> - parámetro 1: (BOOL) ssl  
> - No devuelve ningún valor
> 
> BOOL verifySMTPConnection(void)  
> -------------------------------  
> - Descripción: Verifica la conexión SMTP con los valores previamente establecidos  
> - No acepta parámetros  
> - Retorna 1/0 (1 tiene éxito, 0 no lo tiene)
> 
> BOOL verifySmtpLogin(void)  
> --------------------------  
> - Descripción: Verifica la autenticación contra el servidor SMTP dados los valores establecidos de forma previa  
> - No acepta parámetros  
> - Retorna 1/0 (1 tiene éxito, 0 no lo tiene)
> 
> void clearEmail(void)  
> ---------------------  
> - Descripción: Limpia el objeto EMail. Útil en el caso de que los queramos volver a utilizar con otros valores una vez que ha sido inicializado.  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> void addTo(const char\* friendly\_name, const char\* email\_address)  
> ----------------------------------------------------------------  
> - Descripción: Añade un elemento a la propiedad To del objeto EMail  
> p.e. addTo("Roberto J. Blasco Serrano", "roberto.blasco.serrano@gmail.com")  
> - parámetro 1: (const char\*) friendly\_name. No es obligatorio, pero debe inicializarse aunque sea a una cadena vacía  
> p.e. addTo("", "roberto.blasco.serrano@gmail.com")  
> - parámetro 2: (const char\*) email\_address
> 
> void clearTo(void)  
> ------------------  
> - Descripción: Limpia la propiedad To de todos sus elementos  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> void addCC(const char\* friendly\_name, const char\* email\_address)  
> ----------------------------------------------------------------  
> - Descripción: Añade un elemento a la propiedad CC del objeto EMail  
> p.e. addCC("Roberto J. Blasco Serrano", "roberto.blasco.serrano@gmail.com")  
> - parámetro 1: (const char\*) friendly\_name. No es obligatorio, pero debe inicializarse aunque sea a una cadena vacía  
> p.e. addCC("", "roberto.blasco.serrano@gmail.com")  
> - parámetro 2: (const char\*) email\_address
> 
> void clearCC(void)  
> ------------------  
> - Descripción: Limpia la propiedad CC de todos sus elementos  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> void addBcc(const char\* friendly\_name, const char\* email\_address)  
> -----------------------------------------------------------------  
> - Descripción: Añade un elemento a la propiedad Bcc del objeto EMail  
> p.e. addBcc("Roberto J. Blasco Serrano", "roberto.blasco.serrano@gmail.com")  
> - parámetro 1: (const char\*) friendly\_name. No es obligatorio, pero debe inicializarse aunque sea a una cadena vacía  
> p.e. addBcc("", "roberto.blasco.serrano@gmail.com")  
> - parámetro 2: (const char\*) email\_address
> 
> void clearBcc(void)  
> -------------------  
> - Descripción: Limpia la propiedad Bcc de todos sus elementos  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> void putFromName(const char\* from\_name)  
> ---------------------------------------  
> - Descripción: Establece la propiedad from name del objeto Email  
> - parámetro 1: (const char\*) from\_name  
> - No devuelve ningún valor
> 
> void putFromAddress(const char\* from\_address)  
> ---------------------------------------------  
> - Descripción: Establece la propiedad from address del objeto Email.  
> Es una propiedad OBLIGATORIA para el envío de correo  
> - parámetro 1: (char\*) from\_address  
> - No devuelve ningún valor
> 
> void putSubject(const char\* subject)  
> ------------------------------------  
> - Descripción: Establece la propiedad subject del objeto EMail  
> - parámetro 1: (const char\*) subject  
> - No devuelve ningún valor
> 
> void putPlaintTextBody(const char\* plaintext\_body)  
> --------------------------------------------------  
> - Descripción: Establece la propiedad plain text del cuerpo del objeto EMail  
> - parámetro 1: (const char\*) plaintext\_body  
> - No devuelve ningún valor
> 
> void addHtmlBody(const char\* html\_body)  
> ---------------------------------------  
> - Descripción: Establece la propiead html del cuerpo del objeto EMail  
> - parámetro 1: (const char\*) html\_body  
> p.e. addHtmlBody(" **Hola** \<font color='red'\>Mundo")  
> - No devuelve ningún valor
> 
> void addFileAttachment(const char\* filename)  
> --------------------------------------------  
> - Descripción: Añade un elemento a la propiedad attachments del objeto EMail  
> - parámetro 1: (const char\*) filename  
> p.e. addFileAttachment("c:\file1.txt")  
> - No devuelve ningún valor
> 
> void clearFileAttachments(void)  
> -------------------------------  
> - Descripción: Limpia la propiedad attachments de todos sus elementos  
> - No acepta parámetros  
> - No devuelve ningún valor
> 
> BOOL sendMail()  
> ---------------  
> - Descripción: Envía el correo electrónico en función de las propiedades establecidas  
> - No acepta parámetros  
> - Retorna 1/0 (1 tiene éxito, 0 no lo tiene)
> 
> char\* getMimeSmtpEmail(void)  
> ----------------------------  
> - Descripción: Recupera el objeto MIME del objeto EMail en curso  
> - No acepta parámetros  
> - Retorna el texto del objeto MIME

---

<div class="post-metadata">

**Author:** ![cristianvg2003](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/cristianvg2003/32/5239_2.png) [@cristianvg2003](https://foros.velneo.com/u/cristianvg2003)\
**Post date:** [6 Octubre, 2011 00:40 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/2 "2011-10-06T00:40:28Z")

</div>

En hora buena gracias por tu aporte Roberto ...

---

<div class="post-metadata">

**Author:** ![rafael-zaragoza](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@rafael-zaragoza](https://foros.velneo.com/u/rafael-zaragoza)\
**Post date:** [6 Octubre, 2011 07:44 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/3 "2011-10-06T07:44:58Z")

</div>

@Roberto

Muchas gracias por tu aportación. Una consulta...supongo que no es multiplataforma ¿verdad?

Saludos  
Miguel D.

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/4/4e076028dbe820db844a5e7dafc48e6b7b5677fd.JPG)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/4/419d8a3920881f5de1fca7a96447da005b3d36b1.JPG)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/5/559c7a1e5151bd4209699af1584d35bd3af7d336.JPG)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/4/4e076028dbe820db844a5e7dafc48e6b7b5677fd.JPG)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/4/419d8a3920881f5de1fca7a96447da005b3d36b1.JPG)

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/velneo/original/2X/5/559c7a1e5151bd4209699af1584d35bd3af7d336.JPG)

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [6 Octubre, 2011 07:55 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/4 "2011-10-06T07:55:10Z")

</div>

Muchas gracias.

@ Rzaragoza.dinacom

Al la espera de que lo confirme Roberto, puedo decirte que SI, es multiplataforma (Win, Linux, Mac)

un saludo

---

<div class="post-metadata">

**Author:** ![fjvila.geproin](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@fjvila.geproin](https://foros.velneo.com/u/fjvila.geproin)\
**Post date:** [6 Octubre, 2011 08:01 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/5 "2011-10-06T08:01:24Z")

</div>

Confirmado. Lo es, lo es....

---

<div class="post-metadata">

**Author:** ![Roberto\_Blasco](https://avatars.discourse-cdn.com/v4/letter/r/5f8ce5/32.png) [@Roberto\_Blasco](https://foros.velneo.com/u/Roberto_Blasco)\
**Post date:** [6 Octubre, 2011 08:06 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/6 "2011-10-06T08:06:00Z")

</div>

@rzaragoza.dinacom

Esta es la versión definitiva después de unos cuantos intentos, he pasado por C++, por C puro y he vuelto otra vez a C++ (todo para prevenir fugas de memoria con la asignación dinámica de punteros)  
  
Sí, es multiplataforma, dadme un día o dos y lanza la versión linux, tanto la libre como la de pago. La de Mac tardará un poco más por eso de las máquinas virtuales y que yo de V7 .... poco, poco  
  
**Un saludo. Roberto Blasco.**

---

<div class="post-metadata">

**Author:** ![fernando.bricotec](https://avatars.discourse-cdn.com/v4/letter/f/d9b06d/32.png) [@fernando.bricotec](https://foros.velneo.com/u/fernando.bricotec)\
**Post date:** [6 Octubre, 2011 08:08 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/7 "2011-10-06T08:08:32Z")

</div>

@Roberto  
Gracias.

---

<div class="post-metadata">

**Author:** ![mdelgado](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@mdelgado](https://foros.velneo.com/u/mdelgado)\
**Post date:** [6 Octubre, 2011 11:33 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/8 "2011-10-06T11:33:02Z")

</div>

@Roberto  
Ok, gracias

---

<div class="post-metadata">

**Author:** ![Ricardo-2](https://avatars.discourse-cdn.com/v4/letter/r/ea5d25/32.png) [@Ricardo-2](https://foros.velneo.com/u/Ricardo-2)\
**Post date:** [6 Octubre, 2011 13:07 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/9 "2011-10-06T13:07:14Z")

</div>

quizás una pregunta absurda.....¿estas dll se pueden implementar en la V7?

---

<div class="post-metadata">

**Author:** ![fjvila.geproin](https://avatars.discourse-cdn.com/v4/letter/f/3d9bf3/32.png) [@fjvila.geproin](https://foros.velneo.com/u/fjvila.geproin)\
**Post date:** [6 Octubre, 2011 13:46 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/10 "2011-10-06T13:46:25Z")

</div>

Hola Ricardo:  
Se puede. Estamos preparando una open apps integrando la dll con vBase.  
En cuanto esté terminada la publicaremos para que pueda ser usada por la comunidad.  
Un saludo  
[http://www.geproin.es](http://www.geproin.es)

---

<div class="post-metadata">

**Author:** ![gegeo](https://avatars.discourse-cdn.com/v4/letter/g/e36b37/32.png) [@gegeo](https://foros.velneo.com/u/gegeo)\
**Post date:** [6 Octubre, 2011 13:57 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/11 "2011-10-06T13:57:39Z")

</div>

Gran aporte, gracias.

---

<div class="post-metadata">

**Author:** ![Ricardo-2](https://avatars.discourse-cdn.com/v4/letter/r/ea5d25/32.png) [@Ricardo-2](https://foros.velneo.com/u/Ricardo-2)\
**Post date:** [7 Octubre, 2011 10:07 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/12 "2011-10-07T10:07:35Z")

</div>

Muchas gracias !!!!  
y deseando que llegue :)

---

<div class="post-metadata">

**Author:** ![Roberto\_Blasco](https://avatars.discourse-cdn.com/v4/letter/r/5f8ce5/32.png) [@Roberto\_Blasco](https://foros.velneo.com/u/Roberto_Blasco)\
**Post date:** [7 Octubre, 2011 15:36 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/13 "2011-10-07T15:36:32Z")

</div>

Hola a todos.  
  
Me interesaría mucho que aquellos que hayan probado la dll notifiquen fallos si los hubiera, sugerencias o criticas para poder mejorar el producto.  
  
Gracias de antemano.  
  
[b]Un saludo. Roberto.[/b]

---

<div class="post-metadata">

**Author:** ![humbertocelisg](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/humbertocelisg/32/5729_2.png) [@humbertocelisg](https://foros.velneo.com/u/humbertocelisg)\
**Post date:** [11 Julio, 2012 21:55 UTC](https://foros.velneo.com/t/dll-envio-de-correo-adinfmail-v-3-1-1/3738/14 "2012-07-11T21:55:39Z")

</div>

Hola Roberto, primero que nada muchas gracias por el aporte; me ha surgido un problema al utilizar la Dll en Windows Server 2008, no me funciona puedo ejecutar las funciones de Obtener datos pero al tratar de enviar un E-mail este nunca se envia, crees que sea algun detalle de la Dll o del servidor???.

Un Saludo!
