Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme
  • Página:
  • 1
  • 2
  • 3

TEMA:

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 5 años 2 meses antes #635

Titulo completo :Enviar email desde esp8266 : Generar emails de forma facil y sencilla.
Fecha Publicacion : 23/09/2019
Link al video: https://youtu.be/QYPPeAMPjbI
Ficheros adjuntos : www.cambatronics.com/descargas/youtube/email/prueba_email.rar

El siguiente usuario dijo gracias: gallegoenlaluna, Jose Luis, asesorplaza1

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 4 años 5 meses antes #1837

Hola... de antemano te doy las gracias y las felicitaciones por tu trabajo.
En este caso, quiero agradecerte por el aporte que haces a la comunidad, tu código me ha servido mucho, he mejorado tu código y quiero compartirlo contigo. Un saludo desde Colombia.
//
#include <ESP8266WiFi.h>
const char* host = " www.cambatronics.com ";

const char* ssid = "Escribe aquí el Nombre de la Wifi"; //"YOUR_SSID";
const char* password = "Escribe aquí la contraseña de tu Wifi"; //"YOUR_PASSWORD";

WiFiClient client;
char servername[]=" www.cambatronics.com "; // remote server we will connect to

String result;
const int pinEnvio = 0;

String url = "/email/send_email.php";
String remitente = "correo_del_remitente@..."; //Escribe aquí el correo del remitente
String destino [] = {"correo1@....", "correo2@...."}; //Escribe aquí el o los correos a los que deseas enviar
String AsuntoEscrito = "Escribe aquí el asunto del mensaje";
String TextoEscrito = "Escribe aquí el cuerpo del mensaje";
String asunto, texto;

const int Led = 15; //Enciende el Led para verificar el envío del mensaje
const int Boton = 4; //Pin para Botón de acción de enviar mensaje
int i, j;

void setup() {
Serial.begin(115200);
pinMode(Led, OUTPUT);
pinMode(Boton, INPUT);
pinMode(13, OUTPUT); //Led azul de conexión Wifi
digitalWrite(Led, LOW);
delay(100);
Serial.println("Connecting");
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
digitalWrite(13, LOW); //conectando el led azul para indicar conectado a Wifi
delay(100);
}
Serial.println("Conectado");
digitalWrite(13, HIGH); //encender el led azul para indicar conectado a Wifi
delay(1000);

ajuste_texto();
}

void loop() {

if (digitalRead(Boton) == LOW) {
for(i=0; i<sizeof(destino); i++){
digitalWrite(Led, HIGH);
delay(500);
Serial.println("Detectado boton");
sendDataToServer(i);
digitalWrite(Led, LOW);
delay(100);
}
}else{
digitalWrite(Led, LOW);
}
}

void sendDataToServer(int j)
{
if (client.connect(servername, 80)) { //starts client connection, checks for connection
Serial.println("Enviado");

Serial.print("Requesting URL: ");
Serial.println(url);

// This will send the request to the server
client.print(String("GET ") + url + "?remitente=" + remitente + "&destinatario=" + destino[j] + "&asunto=" + asunto + "&texto=" + texto + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
}
}
client.println(" www.cambatronics.com/email/send_email.php "); //Send data

client.println("Host: www.cambatronics.com ");
client.println("Connection: close"); //close 1.1 persistent connection
client.println(); //end of get request
}
else {
Serial.println("connection failed"); //error message if no client connect
Serial.println();
}
}
//Función para colocar el %20 en el Mensaje y enviarse correctamente
//No borres esta función.
void ajuste_texto(void){
//
Ajuste para el Asunto---
for(i=0; i<(AsuntoEscrito.length()); i++){
if(AsuntoEscrito.charAt(i) == ' '){
asunto += "%20";
}
else{
asunto += AsuntoEscrito.charAt(i);
}
}
//
Fin Asunto----
//
Ajuste para el Texto---
for(i=0; i<(TextoEscrito.length()); i++){
if(TextoEscrito.charAt(i) == ' '){
texto += "%20";
}
else{
texto += TextoEscrito.charAt(i);
}
}
//
Fin Asunto----
Serial.println(asunto);
Serial.println(texto);
}
//

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 4 años 5 meses antes #1845

Muchas gracias por compartir la mejora que has realizado con la comunidad.
Seria buena cosa que aparte del codigo, para la gente que sea mas novata con la programacion, nos indiques cuales son las mejoras que aporta tu codigo.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 4 años 3 meses antes #1989

Hola José Luis: Las mejoras realizadas a tu código de programación fueron las siguientes;
Debido a que había que ingresar el %20 para reemplazar el espacio del mensaje (espacio de separación entre palabras), lo que hice fue realizar un pequeño proceso de reconocimiento en el mensaje ingresado y
el %20. Estos cambios fueron realizados en la función recursiba ajuste_texto(); // Des esta forma podemos agregar el String del tamaño que querramos sin ningún problema. En otra ocación te puedo ayudar a modificar el código para que por medio del puerto serial puedas escribir el correo, el asunto y el cuerpo del mensaje sin necesidad de cargarlo directamente en el Arduino.
Un abrazo desde Colombia.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 4 años 3 meses antes #1990

Muchas gracias por participar con nosotros publicando las mejoras del codigo que has realizado.
Un saludo.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Enviar email desde esp8266 : Generar emails de forma facil y sencilla. 4 años 2 meses antes #2011

cual es el procedimiento para hacer eso que dices de enviar los datos por puerto serial sin necesidad de grabarlos previamente en el arduino

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

  • Página:
  • 1
  • 2
  • 3
Tiempo de carga de la página: 0.106 segundos
Gracias a Foro Kunena