Envío de emails

  • 21 Respuestas
  • 17760 Vistas

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Envío de emails
« : febrero 02, 2014, 18:17:27 pm »
Hola Boris, buenas tardes,

Antes que nada te cuento que el PLC que adquirí hace unos 45 días atrás funciona espectacular !  Es realmente una maravilla. Toda la programación la estoy haciendo en Pawn, ya que me resultó más agil que hacerla en el diagrama ladder. Aquí van las consultas que quisiera hacerte:

El único problema se me ha planteado ahora con las funcionalidades del envío de emails, que no las puedo hacer funcionar.
Primero hice un programa con 2 líneas: el SmtpInit, y SmtpSend, y no logré que nunca un email salga.
Probé con distintas cuentas: Yahoo, Arnet, y finalmente abrí una cuenta en AOL como se sugiere en el manual, pero siempre obtengo errores -4 (Error en proceso de Auth) o bien -11 (Error al enviar “.” para finalizar mensaje).
A continuación, por las dudas, utilicé el Ejemplo2.zip, al que le ajusté los parámetros de mis cuentas de email ... y tampoco logré que los emails salgan. Alguna sugerencia?  Has probado recientemente si funciona con Yahoo por ejemplo (me parece que Yahoo cambió sus mecanismos de autenticación recientemente, por eso probé con AOL, pero tampoco me funcionó).

Otra consultita: cómo sabés cuál es el tamaño del programa que uno ha implementado, y cuánta memoria de programa le queda libre al PLC?

Muchas gracias desde ya y nuevamente felicitaciones por tan buen producto.
Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #1 : febrero 03, 2014, 06:54:58 am »
Buen dia Pablo,

Efectivamente, recien pruebo, Yahoo cambio el metodo de autenticacion a tipo TLS encriptado. El cual no es soportado.
La ultima vez que probe fue en Diciembre.

Sin embargo, AOL continua con el otro metodo, pero me da un error (-8), el cual en Diciembre
tambien funcionaba sin problemas.

Deben haber adoptado nuevas medidas de seguridad.

Te pido un poco de tiempo asi veo en esta semana para solucionar el envio de mail por AOL y subo
una version actualizada para el firmware.

Una pregunta, en su empresa tienen para el dominio de internet soporte de mail? En general los servicios
pagos admiten envio de mail sin encriptacion. En ese caso tenes que ves el puerto del servidor SMTP.

En la ventana de Mensajes, en StxLadder, cuando compilas te dice el tamaño de codigo utilizado. No dice cuanto le queda libre, pero
podemos implementarlo en la proxima version de acuerdo al PLC utilizado.

Te comento que le dimos acceso al PLC con VirtualHMI a traves de internet como nos habias pedido.
Para ello debes actualizar el firmware a la ultima version, y bajar las ultimas versiones
de software de VirtualHMI y StxLadder.

Fijate de leer este documento:

http://www.slicetex.com/virtualhmi/docs/files/VIRTUALHMI-UM.pdf

Y utilizar este ejemplo para el PLC:

http://www.slicetex.com/virtualhmi/examples/files/VirtualHmiInternet.zip

Cualquier duda que tengas sobre como actualizar firmware o lo que sea, avisanos.

Estamos en contacto.




SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #2 : febrero 03, 2014, 11:47:05 am »
Hola Boris, muchas gracias por tu rapidísima respuesta.

Bueno, me alegro que hayas podido reproducir el inconveniente con los emails.
Te paso un dato adicional (extraño): cuando pruebo a sacar los mails por el SMTP de Arnet, desde una conexión Arnet, el resultado de la operación es 00 (email enviado con éxito).
Sin embargo, el mail nunca llega. Probé muchísimas veces y siempre pasa igual.
Es como que hay "algo" que inclusive engaña a la la función SmtpStatus, y "cree" que el mail salió correctamente, pero no. Si disponés de una conexión Arnet lo vas a poder duplicar fácilmente.
También probé a hacer la salida con el SMTP de mi propio dominio, y no pude lograr que la autenticación no de error.

Muchas gracias por acordarte lo del VirtualHMI desde Internet. Voy a ver cuándo me puedo armar de valor para hacer el upgrade de firmware.

Y por supuesto, tomate tu tiempo.
Saludos,
Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #3 : febrero 04, 2014, 20:22:22 pm »
Buenas tardes Pablo,

Adjunto a este mensaje, tenes dos proyectos en Ladder como referencia para descargar y
utilizar con Arnet y AOL, ya que no me dieron error como en el caso de Yahoo (que cambio el método de autentificación).

En el caso de Arnet, funciona sin problemas, lo probe en mi cuenta.

En el caso de AOL, debes de vez en cuando acceder al webmail en http://webmail.aol.com y
enviarte un mail de prueba (seguro que te pide que verifiques con un código de imágenes) para que
compruebe que no sos un spamer.
Luego de enviar el mail, verifica con el PLC.

Fíjate en los ejemplos, en los componentes SmtpInit y SmtpMailSend, como están configurados para que sean coherentes.

Por ejemplo, en Arnet utilizo esta configuracion para componente SmtpInit:

LocalHost: arnet.com.ar
SMTP: smtp.arnet.com.ar
Puerto: 25
Usuario: usuario@arnet.com.ar
Clave: XXX


Luego en componente SmtpMailSend:

From: usuario@arnet.com.ar
To: alguien@dominio.com


Para AOL:

Componente SmtpInit:

LocalHost: aol.com
SMTP: smtp.aol.com
Puerto: 587
Usuario: usuario
Clave: XXX


Componente SmtpMailSend:

From: usuario@aol.com
To: alguien@dominio.com


En el caso del dominio de tu empresa, si me pasas la dirección del servidor SMTP y el puerto
que utilizas (puede ser por privado), podria ver si el PLC lo soporta.


Finalmente, no creo que debas actualizar el firmware porque según la base de datos tenes la
versión 192, la cual respecto a la ultima (versión 193) no ha cambiado en cuanto a la lógica
para enviar emails.

Si decidis actualizar, es un proceso muy simple, podes leer la siguiente nota de aplicación para actualizar firmware:

http://slicetex.com/ladder/docs/files/STXLADDER-FU.pdf

Cualquier duda, o error que se te presente para enviar los mails como te indique, avísanos y envía
todos los datos que creas necesario para analizarlo (por ejemplo los códigos de error, etc).

Quedo a disposición.

PD: Si necesitas el ejemplo en Pawn, avísame, pero con esto podes probar si te funciona.

« Última Modificación: febrero 04, 2014, 20:31:55 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #4 : febrero 07, 2014, 12:08:23 pm »
Hola buenas tardes,

Hice las pruebas exhaustivamente con Arnet, y no anduvo.
En realidad yo ya estaba configurando los SMTPs de Arnet de la misma manera que vos indicás.
Y pruebo a enviar desde el webmail.arnet.com.ar y los mails salen (o sea que el usuario y clave son correctos).

Ya estoy pensando si puede haber algún otro bloqueo a nivel de Arnet con respecto al acceso del puerto 25, no sé.

Probé a hacerle el upgrade de firmware al PLC, por las dudas. Salió todo bien, pero no cambió nada con respecto al tema de los mails, tal como vos anticipabas.

Bueno, si se te ocurre algo nuevo, avisame.
Muchas gracias y saludos,
Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #5 : febrero 07, 2014, 13:16:58 pm »
Que raro, deberia funcionar porque el servidor de arnet lo soporta.

Tenes el codigo de error que te devuelve el PLC ?. Con eso podria decirte en que parte falla.

Recorda que el nombre de usuario, debes ponerlo como:

usuario@arnet.com.ar

Debes agregarle el @arnet.com.ar al nombre de usuario.
« Última Modificación: febrero 07, 2014, 13:27:09 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #6 : febrero 08, 2014, 19:53:33 pm »
Hola Boris,
Volví a hacer las pruebas con el tema de los mails, sin éxito. Muy raro.

Aquí te paso la info de cómo hago las instrucciones en Pawn:

USANDO ARNET:
Inicializacion del SMTP:
SmtpInit("arnet.com.ar", "smtp.arnet.com.ar", 25, "micuenta@arnet.com.ar", "mipassword", SMTP_OPT_DEFAULT)

Y el envío del mail:
if(SmtpSend("otracuenta@gmail.com", "otracuenta@hotmail.com", "paggps@arnet.com.ar", "Mensaje del PLC", "CUERPO"))

En este caso, retorna SmtpGetStatus = 0   (email enviado con éxito ... pero nunca sale!)

USANDO AOL:
Inicializacion del SMTP:
SmtpInit("aol.com", "smtp.aol.com", 25, "micuenta@aol.com", "mipassword", SMTP_OPT_DEFAULT)

Y el envío del mail:
if(SmtpSend("otracuenta@gmail.com", "otracuenta@hotmail.com", "micuenta@aol.com", "Mensaje del PLC", "CUERPO"))

En este caso, retorna SmtpGetStatus = -11  (Error al enviar "." para finalizar mensaje).

Avisame cualquir idea. Muchas gracias!
Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #7 : febrero 09, 2014, 19:35:45 pm »
Buenas tardes Pablo,

Probé enviar con ARNET desde el PLC a una cuenta de GMAIL.COM, y el e-mail se recibe, pero
en la carpeta se Spam, no en Recibidos. Te adjunto una foto que muestra donde. Busca ahi el e-mail.

En el caso de enviar a una dirección de hotmail.com, directamente el servidor de HOTMAIL no lo deja
entrar.

Creía que era un problema del PLC, pero si tratas de enviar un e-mail desde el webmail de arnet (https://webmail.arnet.com.ar) a una dirección de hotmail o gmail, el problema se repite, así que debe ser un tema de ellos, como que son considerados SPAM los e-mails provenientes de la IP de ARNET.

En el caso de AOL, intenta utilizarlo de forma basica, por ejemplo:

SmtpSend("info@slicetex.com", "0", "slicetex@aol.com", "Mensaje del PLC", "Prueba PLC")

Y decime si te da el error (-11). Quizas estas agregando algún caracter extraño o excediendo la longitud del mensaje soportado por el PLC.

Avísame como te va.
« Última Modificación: febrero 09, 2014, 19:39:21 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #8 : febrero 09, 2014, 22:33:04 pm »
Anduvo con Arnet !!!

El problema era el anti-spam de Gmail. Marqué los emails como "no spam", y a partir de entonces llegan correctamente.

Muchas gracias !!

Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #9 : febrero 10, 2014, 10:31:55 am »
Ok, barbaro.

Con AOL intenta probar como te dije, de forma básica porque debería funcionar también.

Cualquier duda avísanos.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #10 : abril 25, 2014, 19:51:25 pm »
Hola Boris,

Te molesto de nuevo para hacerte una consulta sobre el envío de mails.

Yo tengo en mi software (en Pawn) configurada la inicialización para el envío de emails (SmtpInit) al comienzo del programa, FUERA del lazo principal. O sea que SmtpInit se ejecuta una vez.

Posteriormente, cuando debo enviar emails, llamo a una función EnviarEmail(), que contiene el SmtpSend(). Y anda OK.

La consulta es esta: luego de muchos días o semanas de estar el software en funcionamiento, le hago una prueba de envío de notificaciones por email, y los mails no salen, y SmtpGetStatus() retorna -127.
Inmediatamente pruebo a recargar el software (compilo y envío al PLC), con lo cual se resetean las variables, le hago la prueba de notificación, y me sale bien.

Concretamente lo que me parece que está ocurriendo es que "con el paso del tiempo", se borra la configuración que se está cargando en SmtpInit(). Es como si se estuviera "pisando" o borrando dicha configuración...

Saludos y muchas gracias,
Pablo.


Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #11 : abril 25, 2014, 20:58:01 pm »
Buenas Pablo,

Te pregunto para poder analizar mejor:

1) Debes compilar y grabar nuevamente, o basta con un reset para reiniciar el programa?.

2) El valor que te devuelve, es (-127) negativo?.

SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #12 : abril 29, 2014, 08:37:54 am »
Hola Boris,

El resultado es 127 (positivo).

Con respecto a si es necesario recargar el firmware o simplemente rebootear el PLC... no lo puedo saber por el momento. Lo que siempre me quedó más cómodo es reenviar el firmware desde la PC, para no tener que ir a desenchufarlos.

Como tengo una función que se ejecuta 1 vez por día, estoy considerando la posibilidad de utilizarla para poner allí una "reasignación" diaria de los parámetro del SMTP, para asegurarme... qué te parece ?

Saludos,
Pablo.

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2324
  • Soporte Técnico
Re: Envío de emails
« Respuesta #13 : abril 29, 2014, 20:15:56 pm »
Podes probar la idea asi descartamos que sea un tema de que otra operacion pise esa area de memoria.

Aunque, es raro, porque los datos del server estan almacenados en variables especificas en RAM
que no se deberian sobrescribir (al menos por logica).

Otra opcion que puede ser, es que el nombre del servidor de mail, por ejemplo smtp.arnet.com.ar,
cambie su IP con el tiempo. Por lo tanto, si el PLC la tiene en el cache reciente, no resuelve el nombre
y te tire error porque use una IP vieja, creyendo que es la actual del server.

Si seguis con el problema, luego de la modificacion que sugeris, podemos hacer una opcion especifica de configuracion
para que fuerce a resolver el nombre del servidor (para obtener la IP) siempre que envies un mail.

Avisame como resulta.
« Última Modificación: abril 29, 2014, 20:19:57 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

PabloGa

  • Avanzado
  • ***
  • Mensajes: 103
Re: Envío de emails
« Respuesta #14 : mayo 23, 2014, 08:12:15 am »
Hola Boris,

Me demoré mucho en responder sobre este tema porque tenía que dar con la circunstancia en que se produce la anormalidad.
Hace ya algunas semanas le puse que 1 vez por día se haga la reasignación del servidor SMTP (SmtpInit), y creí que esta solución sería definitiva.
Sin embargo, ayer hice una prueba de forzar un evento que siempre me manda un email de notificación, y no salió. SMTP Error 127. Desenchufé el PLC y lo volví a enchufar, forcé de nuevo el evento, y salió el mail correctamente.

Estuve pensando (mas o menos en línea con lo que vos escribías) que quizá puede tener que ver con el hecho de que todos los días yo tengo un IP diferente, porque el router se rebootea automaticamente 1 vez por día. Y que por alguna razón, la resolución del nombre del servidor SMTP no sea válida para el nuevo IP del día... no sé...

Saludos,
PG