Ejemplo Webclient no funciona y envio de email sin PC [SOLUCIONADO]

Aquí te lo está diciendo el compañero, justo antes de tu comentario.

Sergegsx:
llamando a
tudominio.com - This website is for sale! - tudominio Resources and Information.

Perdonnas si pregunto de mas pero ahi solo veo una url no el codigo para ejecutar la redireccion

Deja de contestar en dos post lo mismo xq es un lio
abrete el ejemplo webclient reemplaza la url y la ip

Eso ya lo tengo hecho pero sigo sin saber como pasar parametros desde una ip.

La conexion la hace a la ip de google y en este caso no hay mas problema porque es la que hay pero en mi caso trabajo con subdominios.

No estoy posteando lo mismo, en este te pido el codigo de arduino que utilizas para conectar con tu php.

Pon tu codigo, tu ip, tu subdominio yy veremos donde esta el fallo. No metas mas codigo q el basico y necesario

Mira la seccion proyectos

Sergegsx:
Mira la seccion proyectos

No encuentro tu proyecto

Noes mio. Ya has contestado en el que te digo. Ahi esta todo explicado

Ok!

Una pregunta compañeros, ¿Como introducen la dirección url en el ejempl del webclient? ¿se introduce sustituyendo la direcciónn ip de google?

Exacto, en el ejemplo arduino accede a google, tu has de cambiar esa por la que te interese.

Gracias por tu respueste Dystorm,, ese punto ya lo aclaré. Ahora un problema que tengo es que el arduino NUNCA manda ningun correo, y en el monitor serial me aparece muy rápido "Desconectado" despúes de haberse conectado. He usado el ejemplo del webclient poniendo la dirección URL del servidor virtual que hice en la página que recomentaste (000webhost), donde aloje el archivo php. Cuando pruebo la dirección URL en cualquier navegador, si me funciona y envía un correo cada vez que accedo a tal dirección... Lo malo es usando esa misma dirección en el arduino....NO MANDA NINGUN CORREO.

Agradezco su colaboración compañeros

Hola yo pongo esto:
.
.
.
.
.
if (client.connect(server, 80)) {
Serial.println("conectado");
// Make a HTTP request:
// GRAB THE VARIABLES FROM THE URL
client.println("GET http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es");
client.println();
}
.
.
.
.

Con este trozo del programa puedes comprobar si lo que tu has escrito es correcto, a mi me funciona sin problemas.

He probado lo que me mencionaste (con mis parámetros) pero el resultado sigue siendo igual: en el monitor serial me dice que se conecta y despues de un instante se desconecta, y por supuesto no envía ningun correo.
Lo que he estado usando el ejemplo del DNSWebclient en donde sustituyo la dirección que viene en la parte de char server [], por la dirección http://www.mi_dominio.net84.net/nombre_fichero.php?para=email_destino@hotmail.es&mensaje=hola").

Por supuesto usé lo que me mencionaste en la parte del sketch donde tiene ir (client.println("GET http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es");

Si copias y pegas tu direccion http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es dices que te funciona?? si es asi queda claro que el dominio esta bien creado al igual que el fichero PHP, con lo que nos queda el Arduino que debe ser donde esta el problema ahora ya o pones el programa para pegarle un vistazo o poco voy a poder ayudar ya que segun dices el sketch es el webclient modificando solo esa parte, siendo cierto yo lo tengo igual y me funciona.

EDITO: Acabo de revisar mi programa y creo que he visto donde puede estar tu problema, ¿Has puesto en IP Addres la direccion IP del servidor WEB o has dejado la de google??? si no has tocado nada es logico que no te funcione, has de cambiar la ip por:

IPAddress server(xx,xxx,xxx,xx); // IP HOSTING

Esta IP la verás aqui:

Si habias dejado la de google era logico que no funcionara, quiere conectar con el servidor google y luego le dices parametros de un servidor que no es el suyo :wink:

Recuerda que para hacer pruebas no envies muchos mails seguidos (creo que eran 18 en menos de un minuto) ya que el servidor te bloqueará la cuenta porque pensará que es un envío masivo de emails y por seguridad anti SPAM te cerrará la cuenta.

Efectívamente, lo que dices se acera mucho a lo que hacía. Lo que yo hacía era poner toda la dirección URL de mi servidor junto con mi archivo php y los parámetros, dentro del espacio de "char serverName []" en el ejemplo de DNSwebclient. :slight_smile: :slight_smile:

Gracias a que tu me dijiste en el pasado post lo que tu hacías, casi cuenta de mi error, porque yo no tomaba en cuenta la linea de "client.println(GET" donde pones la dirección URL, y por ende la dejaba igual.

Ya hice los cambios necesarios especificando todos los parámetros en la linea de "client.print(GET"........ y ¡¡¡¡¡¡¡¡¡YA FUNCIONÓ¡¡¡¡¡¡¡

Ahora le voy a quitar todo lo que sea serial para dejar el programa sin que tenga que usar la computadora

Gracias por tu ayuda compañero Dystrom, me fue bastante útil para hechar andar esta función :slight_smile:

Me alegro de que ya te funcione, aunque tus agradecimientos los compartiré con los compañeros que en su día me ayudaron a aprender todo esto a mi (Sergegsx y PepeChorva) asi que tocamos a un 33,33333333...% cada uno :stuck_out_tongue:

Tengo una duda con eso de mandar un parámetro a una página web a través de Arduino.
También estoy haciendo algo similar al enviar un correo y estoy usando el sketch de ejemplo del wifi shield, pero no se que tengo que poner en las siguientes líneas:

char server[] = "www.google.com"; // name address for Google (using DNS)
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Connection: close"); // Esta última línea no se muy bien que hace

Ya tengo un servidor online, tengo un dominio y tengo el código php con el cual recibiré los parámetros. Pero lo eh ejecutado sustituyendo en char server el nombre de mi dominio, en GET la url donde esta mi código php, pero no consigo que se envie el correo.
¿Alguna idea?

es dificil ayudarte con los datos que das

Estoy utilizando este código (es parte del sketch webclient):

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "red";
char pass[] = "pas";
int keyIndex = 0;
int status = WL_IDLE_STATUS;
char server[] = "www.midominio.com";
WiFiClient client;

void setup() {

  Serial.begin(9600);
  
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present"); 
    while(true);
  } 
  
  while (status != WL_CONNECTED) { 
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, keyIndex, pass);
    delay(10000);
  } 
  Serial.println("Connected to wifi");
  
  Serial.println("\nStarting connection to server...");
  
  if (client.connect(server,80)) {
    
    Serial.println("connected to server");
    client.println("GET /archivo.php HTTP/1.1");
    client.println("Host: www.midominio.com");
    client.println("Connection: close");
    client.println();
    
  } else {
    Serial.println("No se pudo conectar al servidor");
  }
}

void loop() {

  while (client.available()) {
    char c = client.read();
    Serial.write(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting from server.");
    client.stop();

    while(true);
  }
}

Mi problema es con esta línea if (client.connect(server,80)), ya que no me conecta con el servidor por lo que no puedo mandar los parámetros con el GET.
Los que se ejecuta es
Starting connection to server...
No se pudo conectar al servidor

Alguna idea de que pueda estar pasando y que pueda hacer para corregirlo.