G-Mails per ESP8266 versenden - AZ-Delivery

hi,

in een vorige post liet ik zien hoe een ESP-processor Ping-pakketten te verzenden en te ontvangen. Vandaag wil ik laten zien dat dit ook met behulp van SMTP via GMail. In mijn Onderzoek heb ik een praktische Bibliotheek zorgvuldig.

Vereiste Hardware:

  • NodeMCU met ESP8266

 

voorbereidend werk:

  • controleer de versie van de Raad definities van de Raad van bestuur, de beheerder van
  • G-Mail account
    • services voor "onveilige Apps toestaan.

Ik zou alle lezers voor dit project een aparte rekening niet te investeren om compromissen te sluiten van zijn account security.

Hoe je een Google-account creëert, wordt hier beschreven in voldoende detail om niet verder te reageren:

Is het Account aangemaakt en geactiveerd, kunnen we ons in Google in te loggen en de instellingen voor de account opent, vindt u dit item in de rechterbovenhoek van de browser. "G Suite -> Google-account" kunt u de pagina bekijken door het invoeren van de URL van de afbeelding te verkrijgen:

Navigeren als boven tot het punt "beveiliging", daar heb je de mogelijkheid om toegang door minder veilig Apps te kunnen maken van deze toegang moet worden geactiveerd:

volgende, we nemen de zorg van de Raad definities binnen de Arduino IDE

Hoe je het ESP Planken in werking is, beschrijven we in detail in op onze E-Boeken. Voor dit project is echter een Downgrade van de Raad van bestuur definities 2.4.2 vereist. Om dit te doen, verwijderen we de module in de Raad van bestuur van de beheerder en installeer het opnieuw:

Dan zijn de Platen weer zoals gebruikelijk.

Met alle verschillende versie van de definities en Bibliotheken om beter om te gaan, zou ik graag plaats staat de gevorderde hobbyist op dit punt PlatformIO sluiten.

De vereiste Library voor de SMTP-verzendinger zijn hier om te Downloaden. Dit kunnen we als *.zip downloaden en in de Arduino IDE onder Schets -> library-project -> .Zip-bibliotheek toevoegen.

De Latere start van de Arduino IDE is verplicht.

Na het Importeren is gelukt om ons in de IDE onder "bestand -> voorbeelden -> voorbeelden uit hun eigen bibliotheken -> ESP8266SMTP -> ESP8266SMTP_Gmail.ino" is een voorbeeld beschikbaar die we moeten aanpassen, echter.

Omdat het ESP is een WiFi-verbinding met een E-Mail sturen we passen eerst, in de Kop van de SSID en het wachtwoord draadloos netwerk.

De volgende noodzakelijke aanpassingen in de Void loop te vinden:

in het onderste gedeelte van de SMTP-server.setEmail hun betreffende gegevens. In de eerste twee regels van de zojuist aangemaakte gebruikersnaam en een wachtwoord, hieronder .Onderwerp het onderwerp van de E-Mail verzenden. In De Sectie .setFrom, kunt u de afzender, die moet worden weergegeven bij het ontvangen van de e-Mail (de echte afzender van uw nieuwe Google Mail-Account) blijft.

In de volgende sectie, en de ontvanger, alsook de inhoud van de E-Mail stellen:

ik heb, voor mijn voorbeeld, een e-Mail naar info@az-delivery.com versturen, houdt u EEN van de ADRESSEN. U heeft meerdere ontvangers sturen u kunt ze toevoegen, gescheiden door een komma, in dezelfde plaats.

Het tweede deel, "De Europese talen....." bevat het bericht moet worden verzonden e-mail, en is gemaakt in de sjabloon met een tekst generator. Hier is het resultaat:

Voor een beter begrip heb ik het Blok weer veranderd:

De volledige Code die ik vandaag voor het Kopiëren&Plakken, en houd uw Kennis Verstandig om gebruik te maken van.

Tot de volgende post ;)

 

Update 03.02.20:

blog bericht is gecontroleerd, werken als voorheen. Niet Een Beginner Project!
Point-of-contact voor de Geavanceerde: het opsporen van fouten in esp8266SMTP.h-lijn 14 is ingeschakeld, wordt de versie van de gebruikte verpakkingen / respect/Bibliotheken!

 

Esp-8266Projekte für fortgeschrittene

19 Reacties

Andreas Wolter

Andreas Wolter

@dev: ich vermute, dass die SMTP Bibliothek, die hier verwendet wurde, nicht mehr zu den Anforderungen des GMAIL Kontos passt. Mit einem Blick auf Github in die Issues dieser Bibliothek gewinne ich schnell den Eindruck, dass das nicht mehr passt. Ich kann leider keine Alternative anbieten. Allerdings könnte man einen ESP32 und dazugehörige andere Bibliotheken verwenden.

Grüße,
Andreas Wolter
AZ-Delivery Blog

dev

dev

Grüße!
Diese Anleitung ist genau das was ich gesucht habe, danke sehr! Allerdings habe ich auch das Problem, dass selbst mit App-Passwort kein Versand möglich ist:

Logging in…
> C: send SMTP command, AUTH PLAIN
> C:
> C: *******************
< S: 235 2.7.0 Accepted
10 Closing the session…
> C: terminate the SMTP session

Message sent success: 0
Message sent failled: 0
-——————-

Error sending Email, the Session_Config object was not assigned
Free Heap: 36584

Muss man das noch was mit dem Session_Config object machen?

Georg

Georg

Hallo,
habe ein App-Passwort erzeugt, aber die Anmeldung schlägt immer noch fehl. Kann es sein, dass dieser einfache Code jetzt mit Gmail doch nicht mehr funktioniert?

Achim

Achim

Hi, es funktionieren die G-Mail-Accounts nur noch mit App-Passwort. Ein App-Passwort ist ein 16-stelliger Sicherheitscode. Zunächst die 2 Faktor-Authentifizierung einrichten. Danach der Google-Anleitung folgen:

“Öffnen Sie Ihr Google-Konto.
Wählen Sie Sicherheit aus.
Wählen Sie unter “Bei Google anmelden” die Option App-Passwörter aus. Möglicherweise müssen Sie sich anmelden. Wenn diese Option nicht verfügbar ist, kann dies folgende Gründe haben:
Die Bestätigung in zwei Schritten ist für Ihr Konto nicht eingerichtet.
Die Bestätigung in zwei Schritten ist nur für Sicherheitsschlüssel eingerichtet.
Sie nutzen ein Konto über Ihren Arbeitsplatz, Ihre Bildungseinrichtung oder eine andere Organisation.
Sie haben das erweiterte Sicherheitsprogramm aktiviert.
Tippen Sie unten auf App auswählen und wählen Sie die entsprechende App aus und dann Gerät auswählen. Wählen Sie dann das entsprechende Gerät aus und dann Erstellen.
Folgen Sie der Anleitung, um das App-Passwort einzugeben. Das App-Passwort ist der 16-stellige Code in der gelben Leiste auf Ihrem Gerät.
Tippen Sie auf Fertig."

https://support.google.com/accounts/answer/185833?hl=de

Raimund

Raimund

Hallo,
Habe seit dem 4.6.2022 das gleiche Problem! Bin Dazo hat mir mein Brifkasten immer eine Mail nach Einwurf gesendet. Eine Email wird jetzt nicht mehr an mein Gmail-Konto verschickt. Die Einstellung für die Unsicheren Apps hat Google wohl deaktiviert. Gibt es eine andere Möglichkeit zum Versenden von Nachrichten?
Vielen Grüße

Andreas Wolter

Andreas Wolter

@Celestino: muchas gracias por esta pista

Ich übersetze kurz, was Celestino geschrieben hat, denn ich halte es für sehr wichtig:
“Hallo, ich habe Probleme mit Google Mail-Konten, denn nach einer Weile wird der Zugriff auf das Konto für unsichere Anwendungen automatisch gesperrt. Außerdem haben sie angekündigt, dass sie diese Option Mitte Mai 2022 endgültig deaktivieren werden. Wir müssten also nach anderen E-Mail-Konten suchen, die dies zulassen, oder die Bibliotheken in Arduino ändern, um die neuen Sicherheitsanforderungen zu erfüllen. Mit freundlichen Grüßen.”

Ich hoffe, dass die Programmierer der Bibliothek diese Änderungen vornehmen.

Grüße,
Andreas Wolter

Celestino

Celestino

Hola.
Estoy teniendo problemas con las cuentas de gmail, ya que automáticamente después de un tiempo bloquea el acceso a la cuenta por aplicaciones poco seguras.
Además han anunciado que ha mediados de Mayo de 2022 desactivarán definitivamente esta opción, con lo que habría que buscar otras cuentas de correo que lo permitan o que en arduino las librerías cambien par cumplir los nuevos requisitos de seguridad.
Un saludo.

Peter

Peter

Hallo,
ich habe das ganze mal ausprobiert. und siehe, es läuft soweit einwandfrei. super Anleitung. Das einzige was mir noch Kopfschmerzen bereitet, ist, dass eingegebene Zeilenumbrüche nicht in der empfangenen E-mail auftauchen.
Ich habe es sowohl mit \r\n als auch char(10) + char(13) versucht. bei der seriellen Ausgabe erscheinen die Meldungen untereinander. So wie es sein soll. In der E-mail jedoch ist alles in einer Zeile. als wären die Zeilenumbrüche entfernt worden.
Was übersehe ich ?

Grüße
Peter

Patrick

Patrick

Wie man bei Google die 2-Faktor-Authentifizierung aktiviert: https://www.google.de/intl/de/landing/2step/#tab=how-it-works

App-Passwort einrichten:
https://support.google.com/accounts/answer/185833?hl=de

Patrick

Patrick

„Dienste für “unsichere Apps” zulassen“ ist bei Gmail nun nicht mehr notwendig. Ihr müsst lediglich die 2-Faktor-Authentifizierung aktivieren und könnt danach extra für diesen Zweck wie hier App-Passwörter generieren. Dabei kann und sollte jede App ihr eigenes Passwort erhalten, welches einfach über die Google-Oberfläche generiert wird. Dann in den Accountdaten im Quelltext statt euren normalen Google-Passworts das extra für diese App generierte Passwort eintragen und es funktioniert.

Jims

Jims

it works well after the add of client insecure in the .cpp file.
the next challenge should be to add a message content !

regards
Jims

Wolfgang

Wolfgang

Warum wurden hier nicht wie in anderen Beispielen die Acountdaten mit Base64 verschlüsselt?

JB

JB

Hallo,
ich erhalte immer die Fehlermeldung
SMTH AUTH Erro. Wenn ich dann die Änderung von Rolba v. 05.01.20 vornehme
kommt:
WiFiClientSecure has no member setInSecure
Kennt jemand die Ursache und kann weiterhelfen?

Rolba

Rolba

Google hat seine Sicherheitsabfrage geändert, daher folgende Schritte:
1. Librarie ESP8266SMTP.cpp ändern
Code:
WiFiClientSecure client; // Zeile 121
client.setInsecure(); // neuen Eintrag einfügen
2. Google Gmailkonto den Zugriff weniger sicherer Apps erlauben !

LG
Roland

jakob

jakob

ich habe das gleiche problem wie Erhardsson
“Error sending message: Could not connect to mail server”

komme leider nicht weiter. kann es sein, dass hier ein problem mit ssl ist?

andreas

andreas

Hallo
ich möchte anstatt eines Textes, wie hier in deinem Beispiel

if(SMTP.Send(“me8az-delivery.com” Die Lichtschranke an der Vorderseite …."
nicht den Text “Die Lichtschranke…” sondern eine Variable mit einen Wert versenden.
Da aber der SMTP.Send Befehl einen String verlangt, bekomme ich es einfach nicht hin,,,

Kann Du mir sagen wie das geht ?

Jonas

Jonas

Hallo,
erstmal vielen Dank für den Beitrag. Habe es ausprobiert und es hat nach dem Downgrade der Version auch funktioniert. Ich benötige aber die atuellste Version (2.5.0), ich einen Webserver mit einbinden möchte, der aber bei der älteren Version nicht stabil läuft. Gibt es da eventuell noch eine Lösung, dass der E-Mailversand auch auf der aktuellen Version läuft?
Wäre super, wenn mir da jemand weiterhelfen könnte.
Gruß
Jonas

Erhardsson

Erhardsson

Hallo,
ich bekomme immer die Meldung:

“Error sending message: Could not connect to mail server”

Benutzername und Password sind OK.

Was tun?

veit

veit

sehr schön!

notifications an android handys schicken wäre auch fein ….

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery