Enviar e-mails desde Arduino?

Hola a todos, estoy intentando enviar un e-mail desde arduino conectado a internet a través de la placa Ethernet Shield.
He probado el único ejemplo que he visto:

pero no me funciona.
¿alguien lo ha intentado y lo ha conseguido?

Saludos.

Yo envie email haciendolo por PHP, puedes verlo aqui

Me ayudaron muchisimo en el foro. Eso si, has de leer mucho, mucho....

Gracias por la ayuda dystrom.

Mediante arduino y una web se que se puede hacer lo siguiente:

  1. Desde arduino mandas un código de alarma a la web
  2. Este código, mediante un php, lo traduce y manda un email a la dirección y con un texto que tengamos configurado.

El problema que he encontrado, es que si la web no está abierta por ningún usuario, no se ejecuta nada.

¿Hay alguna manera de que una web ejecute instrucciones sin necesidad de estar abierta?. De ser así tendría el problema resuelto.

Con lo de la web te refieres al servidor??

Pasos a seguir:

1.- crear servidor virtual
2.- crear archivo php que envie el email y alojarlo en el servidor virutal
3.- realizar programa arduino que ejecute el archivo php (es un sketch de los ejemplos modificandolo un poco)
4.- al ejecutar el programa arduino llamara al archivo php que tienes alojado en el servidor virtual
5.- el email sera enviado y recibido por el usuario

logicamente si la web del servidor virtual esta en mantenimiento o algo, no funcionará, no se si es eso a lo que te refieres.

Entonces, no me queda otro remedio que tener un PC siempre alimentado, donde tendre alojado el servidor virtual.

Si lo haces en tu pc ya no será un server virtual sino que será fisico, la gracia esta en no tener que tener el pc en marcha siempre, otra solucion es tener 2 cuentas en servidores virtuales y que el arduino envie un email a traves de un servidor virtual y en caso de no poder acceder o tener algun error lo envie desde otro servidor, sería muy raro que los 2 servidores virtuales este en mantenimiento a la vez justo en el momento en el que necesitas enviar el email.

También tengo que decirte que si has de enviar muchos emails seguidos el servidor virtual te cancelará la cuenta. Yo para pruebas pulsaba un boton y enviaba un email, como le daba seguido a la que llevaba 20 veces en menos de un minuto ya no funcionaba, asi que me meti en el servidor online y ponia que mi cuenta habia sido cancelada por sospecha de envio de spam jejeje, te lo digo para que lo tengas en cuenta para hacer pruebas. Al menos en el que yo me di de alta no te deja enviar mas de 20 emails en menos de un minuto.

Ahhh, vale, ya he pillado lo del servidor virtual.

Pues parece que sea la mejor solución para enviar emails desde arduino. Me voy a poner manos a la obra a ver hasta donde llego.
Hasta ahora, he logrado enviar y recibir datos entre arduino y una web instalada en un servidor local.
Nunca he utilizado servidores virtuales, pero, no creo que haya mucha diferencia con uno local.
Mediante la web en el servidor local, tambien consegui enviar emails, pero claro, tenia que tener el PC donde estaba alojado el servidor encendido y la web abierta.

Con lo que me propones, si no he entendido mal, es hacer un php que se comunique con arduino y colgarlo en el servidor virtual. Este siempre estara operativo, y cuando arduino necesite enviar un correo, le enviara la orden y punto.

Para no empezar tan a ciegas, ¿que servidor virtual utilizaste? Supongo que habran muchos, unos de pago y otros no. Ya me cuentas.

Para buscar un servidor online, puse en google online server y el primero que me salio lo cogí, en mi caso fue http://www.000webhost.com/

Siempre que hago un proyecto, hago una carpeta con el nombre del programa y en ella pongo el programa del arduino, datasheets, enlaces a sitios que he leido..... y un fichero leeme.txt donde anoto como he realizado todo, asi el dia que necesite refrescarlo lo tengo alli bien explicadito. Te hago un copia y pega de este archivo para que veas los pasos que realicé.

Pasos para realizar este proyecto:

1º Crear un servidor online (por ejemplo con http://members.000webhost.com/)
2º Instalar Filezilla en el PC para subir archivos al servidor online (desde la web del servidor hay la opcion de instalarlo directamente)
3º Crear el archivo php (en este caso email5.php)
4º Subirlo al servidor mediante filezilla (la configuracion esta en el arhivo configuracionfilezilla.jpg)
5º cargar en arduino el programa

FUNCIONAMIENTO DEL PROGRAMA:

He cogido como base el ejemplo webclient

He modificado la ip del servidor

Para que envie el correo llama a la direccion http://www.web_del_servidor.net84.net/email5.php?para=direccion_a_enviar_email@live.com
donde ponemos el email al que queremos que envie el correo.

Espero haberte ayudado, ya comentarás como te ha ido
RECUERDA lo que te dije en el mensaje anterior:
Si has de enviar muchos emails seguidos el servidor virtual te cancelará la cuenta. Yo para pruebas pulsaba un boton y enviaba un email, como le daba seguido a la que llevaba 20 veces en menos de un minuto ya no funcionaba, asi que me meti en el servidor online y ponia que mi cuenta habia sido cancelada por sospecha de envio de spam jejeje, te lo digo para que lo tengas en cuenta para hacer pruebas. Al menos en el que yo me di de alta no te deja enviar mas de 20 emails en menos de un minuto.

Muchísimas gracias por tu ayuda. Tus indicaciones me están sirviendo de mucho. Voy a seguir tus pasos al pie de la letra e iré comentando los avances y como no, las dudas.

El mero hecho de saber que alguien lo consiguió, es suficiente para no detenerse.

Un saludo.

Es grato ayudar, ya que normalmente hasta ahora, solo leia y leia y pedia ayuda yo, asi que es hora de ir devolviendo lo recibido, cualquier cosa ya sabes :slight_smile:

buenas tardes, tengo algunas dudas, para realizar el envio de e-mail con arduino y php es necesario la tarjeta de ethernet shield? hare algo similar a Dystrom solo que yo enviare e-mails cuando se activen algunas alarmas de un sistema de fuerza las cuale se activan por medio de contactos secos, pero por ahora estoy haciendo las pruebas con puro push bottom, y me gustaria saber si el codigo que utilizo para la activacion de los push se lo tengo que agregar al codigo modificado de webclient.

hasta ahorita me he apoyado en sus publicaciones. solo espero que puedan apoyarme.

de antemano gracias.