Envoyer des G-mails via ESP8266

Bonjour à tous

dans un contribution antérieure J’ai montré comment un processeur ESP peut envoyer et recevoir des paquets de ping. Aujourd’hui, je veux montrer que c’est également possible avec SMTP via GMail. Au cours de mes recherches, j’ai pris connaissance d’une bibliothèque pratique.

Matériel requis :

  • NodeMCU avec ESP8266

 

Travaux préparatoires :

  • Vérification de la version des définitions de sangliers dans l’administrateur du conseil
  • Créer un compte G-Mail
    • Autoriser les services pour les « applications dangereuses ».

J’encourage tous nos lecteurs à créer leur propre compte pour ce projet afin de ne pas compromettre la sécurité de leur compte.

Comment créer un compte Google Ici suffisamment décrits pour ne pas avoir à entrer dans les détails :

Une fois que le compte a été créé et activé, nous pouvons nous connecter à Google et ouvrir les paramètres du compte, vous trouverez ce point dans le coin supérieur droit du navigateur. "G Suite -gt; Google Account" Vous pouvez également atteindre la page en entrant l’URL de la capture d’écran:

Naviguez comme on le voit ci-dessus au point "Sécurité", où vous avez la possibilité d’autoriser l’accès via des applications moins sécurisées, cet accès doit être activé:

Ensuite, nous nous occuperons des définitions du conseil d’administration dans l’IDE Arduino

Nous décrivons en détail comment mettre les conseils d’administration de l’ESP en service dans nos e-books. Toutefois, ce projet peut exiger que les définitions du conseil soient rétrogradées à 2,4,2. Pour ce faire, nous supprimons le module dans le directeur du conseil d’administration, puis le redynamiser:

Après cela, les conseils seront disponibles à nouveau comme d’habitude.

Pour mieux traiter avec différentes versions, définitions et bibliothèques, je voudrais suggérer PlatformIO à l’amateur quelque peu avancé à ce stade.

La bibliothèque requise pour l’expédition SMTP peut être trouvé ici pour téléchargement. Nous pouvons télécharger ce comme '.zip et les inclure dans l’IDE Arduino sous Sketch -gt; Bibliothèque -gt; . Bibliothèque Zip.

Le redémarrage ultérieur de l’IDE Arduino est obligatoire.

Après l’importation réussie, nous avons un exemple dans l’IDE à: "File -gt; Exemples - -gt; Exemples de propres bibliothèques - -gt; ESP8266SMTP - -gt; ESP8266SMTP_Gmail.ino" que nous avons encore besoin de personnaliser.

Étant donné que l’ESP nécessite une connexion WiFi pour envoyer un e-mail, nous ajustons d’abord le mot de passe SSID et w-lan dans l’en-tête.

Les prochains ajustements nécessaires peuvent être trouvés dans la boucle Void:

Entrez vos données dans la section inférieure de SMTP.setEmail. Dans les deux premières lignes, le compte utilisateur et mot de passe que vous venez de créer, voir . Soumettez le sujet de l’e-mail à envoyer. Dans la section .setDe, vous pouvez entrer l’expéditeur pour être affiché lorsque vous recevez le courrier (l’expéditeur réel reste votre nouveau compte Gmail).

La section suivante détermine ensuite les destinataires et le contenu de l’e-mail :

J’ai envoyé un e-mail à info@az-delivery.com pour mon exemple, s’il vous plaît entrer ONE VOTRE ADRESSE ici. Si vous avez plusieurs destinataires, vous pouvez les insérer au même endroit, séparément avec une virgule.

La deuxième partie, ici "Les langues européennes ....." contient le message de l’e-mail à envoyer et a été créé dans le modèle avec un générateur de texte. Voici le résultat:

Pour une meilleure compréhension, j’ai changé le bloc à nouveau:

Je ne fournis pas le code complet pour Copy et Paste aujourd’hui et vous demander d’utiliser vos connaissances à bon escient.

Jusqu’au prochain post ;)

 

Mise à jour 03.02.20:

Blog post examiné, fonctionne toujours. Pas de projet de débutant !
Point de contact pour les utilisateurs avancés: Activez le débogage dans esp8266SMTP.h ligne 14, faites attention à l’état de la version des paquets d’occasion / bibliothèques!

 

Esp-8266Projets pour avancé

12 commentaires

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 ….

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Messages de blogs recommandés

  1. Installez maintenant ESP32 via l'administrateur de la carte
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA-Over the Air-ESP Programmation par WiFi