Buenas noches Pablo,
Estuve probando tu programa. Te comento:
1)
Me pasaba el error que describías al utilizar la constante
SMTP_OPT_FORCE_RESOLV con
SmtpInit().
Aparentemente al forzar la resolución de la IP cuando ya fue obtenida provoca un timeout en el servidor DNS.
Así que intente utilizar como antes la constante
SMTP_OPT_DEFAULT, para que solo resuelva
si no esta en el cache o paso un tiempo largo. Así funcionó:
SmtpInit("arnet.com.ar", "smtp.arnet.com.ar", 25, "usuario@arnet.com.ar", "clave_arnet", SMTP_OPT_DEFAULT)De esta forma no provoca el timeout.
El
SMTP_OPT_FORCE_RESOLV era experimental, pero
SMTP_OPT_DEFAULT no me da errores,
resuelve correctamente. Lo seguiré probando.
2)
En cada envío de email, inicializas con SmtpInit() todo de nuevo, te lo modifique para que solo inicialices las variables utilizadas.
Solo para optimizar.
3)
Te adjunto la versión modificada.
Por mail privado te paso datos de una cuenta de mail en slicetex.com, para que tengas
como alternativa de Arnet para probar temporalmente. Clave y dirección de mail.
Asi mismo Arnet me funciona correctamente con la constante modificada.4)
Encontré que
Arnet, si envías demasiados mails seguidos, te pone en una
lista "gris" por una hora (la función te retorna estado -8) y te rebota. Luego te admite
nuevamente mails. Esto es para evitar spam.
En una aplicación normal, no vas a enviar demasiados mails, menos con tu aplicación
de lectura de fases. Pero es para que lo tengas en cuenta en las pruebas.
5)
El programa que te envío modificado, utiliza
VirtualHMI para simular
las fases con las teclas:
- M5 -> DIN5
- M6 -> DIN6
- M7 -> DIN7
Esto es para evitar cablear la placa.
7)
Voy a seguir testeando el programa estos días, para ver si arroja alguna novedad.
Quedo a disposición y avisame cualquier consulta.
PD: Del 1 de enero al 22 de enero de 2015 cerramos por vacaciones. Tener en cuenta para consultas y pedidos.