Invia e-mail tramite ESP8266

Ciao a tutti,

in uno precedente contributo Ho mostrato come un processore ESP possa inviare e ricevere pacchetti di ping.Oggi vorrei dimostrare che è possibile anche con SMTP via GMail.Nella mia ricerca mi sono reso conto di una biblioteca pratica.

Imprigionato hardware:

  • NodeMCU con ESP8266

 

Preliminari:

  • Verifica della versione delle definizioni di tabellone nell'amministratore di bordo
  • Crea un account G-Mail
    • Permetti servizi per "app non sicure".

Esorto tutti i nostri lettori a creare un proprio conto per questo progetto, per non mettere a repentaglio la sicurezza del suo conto.

Come creare un account Google qui sufficientemente descritta per non dover essere ulteriormente elaborata su:

Quando l'account è creato e attivato possiamo accedere a Google e aprire le impostazioni per l'account, troverete questo punto nell'angolo in alto a destra del browser."G Suite -> Google Account"Puoi anche accedere alla pagina inserendo l'URL dallo screenshot:

Navigare come visto sopra al punto "Sicurezza", lì si ha la possibilità di permettere l'accesso attraverso applicazioni meno sicure, questo accesso deve essere abilitato:

Poi affrontiamo le definizioni del consiglio nell'Arduino IDE

Come mettere in funzione le schede ESP che descriviamo dettagliatamente nei nostri e-book.Tuttavia, questo progetto può richiedere un declassamento delle definizioni del consiglio a 2.4.2.Per fare questo, rimuoviamo il modulo nell'amministratore del consiglio e poi lo reinstalliamo:

Dopo di che, le schede sono disponibili di nuovo come al solito.

Al fine di affrontare meglio le diverse versioni, definizioni e biblioteche, vorrei suggerire la piattaforma al Bastiler in qualche modo avanzato a questo punto.

La biblioteca necessaria per la spedizione SMTPc'è qui per il download.Possiamo scaricarli come *.zip e aggiungerli all'Arduino IDE sotto Sketch > Library >.Zip Library.

Il successivo riavvio dell'Arduino IDE è obbligatorio.

Dopo un'importazione riuscita, l'IDE dichiara: "File -> Esempi -> Esempi dalle proprie librerie -> ESP826SMTP -> ESP8266SMTP -> Gmail.ino" un esempio che dobbiamo ancora personalizzare.

Dal momento che l'ESP ha bisogno di una connessione WiFi per inviare una e-mail, per prima cosa personalizziamo l'SSID e la password W-Lan nell'intestazione.

Le successive modifiche necessarie possono essere trovate nel circuito vuoto:

Inserisci i tuoi dati nella sezione inferiore di SMTP.setEmail.Nelle prime due righe, l'account utente e la password, sotto. Oggetto, l'oggetto dell'e-mail da inviare.Nella sezione.setFrom puoi inserire il mittente da visualizzare quando ricevi la posta (il mittente reale rimane il tuo nuovo account di posta di Google).

Nella sezione successiva sono definiti i destinatari e il contenuto dell'e-mail:

Per esempio, ho inviato una mail a info@az-delivery.com, per favore inserisci QUI il tuo indirizzo.Se hai più ricevitori, puoi inserirli nello stesso posto, separatamente con una virgola.

La second a parte, qui "Le lingue europee..... contiene il messaggio dell'email da inviare ed è stato creato nel modello con un generatore di testo.Ecco il risultato:

Per una migliore comprensione ho cambiato di nuovo il blocco:

Oggi non fornisco il codice completo per Copy&Paste e vi chiedo di usare la vostra conoscenza con cautela.

Fino al prossimo post;)

 

Aggiornamento 03.02.20:

Blog post controllato, funziona ancora.Nessun progetto per principianti!
Punto di contatto avanzato: Abilita il debugging in Esp826SMTP.h linea 14, tieni d'occhio lo stato di versione dei pacchetti/librerie usati!

 

Esp-8266Projekte für fortgeschrittene

12 Kommentare

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

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Post di blog consigliati

  1. Installa ESP32 ora dal gestore del consiglio di amministrazione
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - Programmazione ESP tramite WLAN

Prodotti consigliati