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


([N1] Roberto Blasco) #1

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

- 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


([N1] cristianvg2003) #2

En hora buena gracias por tu aporte Roberto ...


([N1] Rafael) #3

@Roberto

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

Saludos
Miguel D.








([N1] Pepeto) #4

Muchas gracias.

@ Rzaragoza.dinacom

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

un saludo


([N1] fjvila) #5

Confirmado. Lo es, lo es....


([N1] Roberto Blasco) #6

@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.


([N1] Synetic) #7

@Roberto
Gracias.


([N4] mdelgado) #8

@Roberto
Ok, gracias


([N2] Ricardo) #9

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


([N1] fjvila) #10

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


([N2] gegeo) #11

Gran aporte, gracias.


([N2] Ricardo) #12

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


([N1] Roberto Blasco) #13

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]


([N3] Humberto) #14

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!