Email mit einem 8266 versenden mit dem Besipiel ESP8266_Gmail_Sender

Hallo

versuche seit stunden mit dem Besipiel “ESP8266_Gmail_Sender” welches ich unter Beispiele gefunden habe eine Mail an mich zu versenden.

leider bekomme ich immer die Meldung

Connection: ESTABLISHED
Got IP address: 192.168.4.3
Error sending message: Could not connect to mail server

ich habe ein Konto bei Gmail angelegt.
Das Konto unter Einstellungen, Sicherheit für “Zugriff durch weniger sichere Apps” freigegeben.

Wo ich welche daten eingeben habe zeige ich euch im Code

Hoffe mir kann einer sagen was ich falsch mache…

include <ESP8266WiFi.h>
#include "Gsender.h"

#pragma region Globals
const char* ssid = "[b]Meine ssid steht hier[/b]";                           // WIFI network name
const char* password = "[b]meien Passwort steht hier[/b] ";                       // WIFI network password
uint8_t connection_state = 0;                    // Connected to WIFI or not
uint16_t reconnect_interval = 10000;             // If not connected wait time to try again
#pragma endregion Globals

uint8_t WiFiConnect(const char* nSSID = nullptr, const char* nPassword = nullptr)
{
   static uint16_t attempt = 0;
   Serial.print("Connecting to ");
   if(nSSID) {
       WiFi.begin(nSSID, nPassword);  
       Serial.println(nSSID);
   } else {
       WiFi.begin(ssid, password);
       Serial.println(ssid);
   }

   uint8_t i = 0;
   while(WiFi.status()!= WL_CONNECTED && i++ < 50)
   {
       delay(200);
       Serial.print(".");
   }
   ++attempt;
   Serial.println("");
   if(i == 51) {
       Serial.print("Connection: TIMEOUT on attempt: ");
       Serial.println(attempt);
       if(attempt % 2 == 0)
           Serial.println("Check if access point available or SSID and Password\r\n");
       return false;
   }
   Serial.println("Connection: ESTABLISHED");
   Serial.print("Got IP address: ");
   Serial.println(WiFi.localIP());
   return true;
}

void Awaits()
{
   uint32_t ts = millis();
   while(!connection_state)
   {
       delay(50);
       if(millis() > (ts + reconnect_interval) && !connection_state){
           connection_state = WiFiConnect();
           ts = millis();
       }
   }
}

void setup()
{
   Serial.begin(115200);
   connection_state = WiFiConnect();
   if(!connection_state)  // if not connected to WIFI
       Awaits();          // constantly trying to connect

   Gsender *gsender = Gsender::Instance();    // Getting pointer to class instance
   String subject = "Subject is optional!";
   if(gsender->Subject(subject)->Send("[b]hier habe ich meine Email Adr eingetragen [/b]", "Setup test")) {
       Serial.println("Message send.");
   } else {
       Serial.print("Error sending message: ");
       Serial.println(gsender->getError());
   }
}

void loop(){}

Code bitte in Code Tags posten.

Hat dein ESP8266 Zugang zum Internet oder hapert es da schon?

Zugang besteht laut
serieller Monitor

ping 192.168.178.66 sagt ja

Das zeigt nur, dass er im lokalen Netz erreichbar ist. Nicht dass er Internetzugang hat.

Gruß Tommy

Hallo,

ich kenne die lib nicht, aber bei der Durchsicht von Deinem Sketch vermisse ich die login Daten für Dein G-mail Konto. Wo sind die , fehlt da was ?

Heinz

netter081:
Zugang besteht laut
serieller Monitor

ping 192.168.178.66 sagt ja

Das ist doch keine Adresse im Web.

habe garde anscheinend grade einen Blackout...
sorry für die Dumme Frage. wie stelle ich nochmal fest ob das teil über Inet erreichbar ist

netter081:
habe garde anscheinend grade einen Blackout...
sorry für die Dumme Frage. wie stelle ich nochmal fest ob das teil über Inet erreichbar ist

Welches Teil ?

Andersrum, ob das Teil das Internet erreicht.
Nimm ein HttpClient-Beispiel von Deinen ESP8266-Beispielen.

Gruß Tommy

mein 8266

versuche das Board mittels die IP im Browser anzuzeigen
Keine Verbindung...

??? Gibt es das auch als ganzen Text mit Sinn?

Gruß Tommy

netter081:
mein 8266

versuche das Board mittels die IP im Browser anzuzeigen
Keine Verbindung...

Dann musst du doch nur die IP angeben, die das Teil hat. Die hast du dem doch im Sketch mit gegeben, oder nicht.

Aber das hat def. nichts mit dem Internet zu tun. Das ist nur in deinem lokalen Netz.

Und du solltest auch mal die Frage in Post #4 beantworten.

Im Eingangspost schreibt der TE, das sei in den Beispielen

Hier wird beschrieben, dass Google bei unsicheren Apps noch eine zusätzliche Kennung braucht.

Gruß Tommy

Versuche grade eure Tipps umzusetzen bzw. mich zu informieren.
Die bisherigen Beispiel-Code haben immer funktioniert. Ggf. musste kleine Modifikationen erledigt werden.
aber das möglicherweise ganze Bibliotheken fehlen wie anscheinen bei meinen Bespiel-Code die Bibliotheken um in I-Net zu kommen noch nie..
Oder ich verstehe euch falsch ...

@Rentner

habe die Daten im Code unter ..... eingefügt

const char* ssid = "Meine ssid steht hier"; // WIFI network name
const char* password = "meien Passwort steht hier "; // WIFI network password

if(gsender->Subject(subject)->Send("hier habe ich meine Email Adr eingetragen ", "Setup test")) {
Serial.println("Message send.");

Hallo,

ich kenne die lib nicht aber:

const char* ssid = "Meine ssid steht hier"; // WIFI network name
const char* password = "meien Passwort steht hier "; // WIFI network password

ist der login für Dein Wifi Netz.

if(gsender->Subject(subject)->Send("hier habe ich meine Email Adr eingetragen ", "Setup test")) {
Serial.println("Message send.");

ist meines Erachtens der Teil der Mail in der der Absender angegeben wird( Teil für den Header der Mail.

ich vermisse das login für das googel Konto

ja, das wird die ebenfalls mailadresse sein aber dann fehlt immer noch ein password dazu

ich hab da gerade mal rumgesucht

link

Heinz

Hm, du hast recht 100% recht.... muss ich mal in den o.g. Code suchen...

Hallo,

wie ich das sehe werden der Gmail Zugangdaten in die Lib eingetragen. ist das doof

Heinz

Nebenan haben wir es vor einigen Wochen über einen anderen Weg hin bekommen.
Evtl. kann das helfen.

Gruß Tommy