Site icon Renzo Mischianti

Inviare email con esp8266 e Arduino (Libreria v1.x)

Spread the love

Ho finalmente upgradato questa libreria con il supporto ad Arduino (Ethernet, UIPEthernet e SD), esp32 (SPIFFS e SD) e esp8266 (SD e SPIFFS) e la possibilità di allegare files.
Fai riferimento a quest’articolo per la versione 2.x della libreria “Inviare email con allegati (libreria v2.x)“.

Un metodo semplice per notificare un problema è utilizzare la posta elettronica, è utile e semplice da condividere, quindi ho creato una libreria per farlo. Prendo del codice da un’altra libreria (GSender) una libreria abbastanza semplice, ma non così completa e configurabile.

Libreria EMailSender per esp8266 e Arduino

Questa libreria utilizza il protocollo SMTP:

Simple Mail Transfer Protocol (SMTP) è un protocollo standard per la trasmissione di email. Inizialmente proposto nella RFC 778 nel 1981, poi aggiornato con RFC 821 nel 1982 ed ulteriormente modificato nel 2008 con l’introduzione di extended SMTP (RFC 1869 e RFC 5321), che è il protocollo attualmente in uso.
Anche se i 
server di posta elettronica utilizzano SMTP per inviare e ricevere mail, i client mail a livello utente utilizzano SMTP solo per inviare il messaggio al server mail, il quale si occupa dell’invio del messaggio stesso. Per recuperare i messaggi, le applicazioni client usano solitamente protocolli come IMAP o POP3.
La comunicazione tra i server mail utilizza il protocollo 
TCP sulla porta 25. I client mail, tuttavia, spesso inviano le mail in uscita al server sulla porta 587. Anche se deprecata, i provider mail e alcuni produttori come Apple, permettono ancora l’uso della porta non standard 465 per questa operazione. (Cit. Wiki)

Per gli esempi utilizzo un account dedicato di Gmail, creo un nuovo account perché è necessario ridurre la sicurezza per utilizzarlo con un programma esterno.

Retrocompatibilità

Dalla versione successiva alla esp8266 core 2.4.2 cioè successiva o uguale alla 2.5.2 qualcosa è cambiato e per supportare la vecchia versione 2.4.2 aggiungo una definizione per permetterti di lavorare con quel core.

Quindi se hai un esp8266 core 2.4.2 o meno devi decommentare questa linea

// Uncomment if you use esp8266 core <= 2.4.2
#define ARDUINO_ESP8266_RELEASE_2_4_2

Library

Puoi trovare la mia libreria qui.

Per scaricare.

Clicca il bottone DOWNLOADS sull’angolo in alto a destra, e rinomina la cartella decompressa EMailSender.

Controlla che la cartella EMailSender contenga EMailSender.cpp e EMailSender.h.

Posizione la libreria EMailSender nella tua cartella /libraries/.

Potresti dover creare la sottocartella libraries se è la tua prima libreria.

Riavvia l’IDE.

Usage

Costruttore: il valore predefinito è abbastanza semplice e usa GMail come server smtp.

EMailSender emailSend("smtp.account@gmail.com", "password");

Se si desidera utilizzare un altro fornitore, è possibile utilizzare un costruttore più complesso (ma comunque semplice)

EMailSender(const char* email_login, const char* email_password, bool isSecure = false);

EMailSender(const char* email_login, const char* email_password, const char* email_from, bool isSecure = false);

EMailSender(const char* email_login, const char* email_password, const char* email_from, const char* smtp_server, uint16_t smtp_port, bool isSecure = false);

È necessario connettersi a WIFI: P.

Crea un messaggio con la struttura EMailMessage

    EMailSender::EMailMessage message;
    message.subject = "Subject";
    message.message = "Hi, How are you<br>Fine.";

Invia un messaggio:

    EMailSender::Response resp = emailSend.send("account_to_send@gmail.com", message);

E controlla la response:

    Serial.println("Sending status: ");
    Serial.println(resp.code);
    Serial.println(resp.desc);
    Serial.println(resp.status);

Esempio di serial output:

Connection: ESTABLISHED
Got IP address: 192.168.1.104
Sending status: 
1
0
Message sent!

Abilita GMail

Consenti alle app meno sicure di accedere al tuo account Gmail

Google potrebbe bloccare i tentativi di accesso da alcune app o dispositivi che non utilizzano i moderni standard di sicurezza. Poiché queste app e dispositivi sono più facili da violare, il loro blocco aiuta a proteggere il tuo account.

Per disabilitare questa funzione di sicurezza:

  1. Accedi a Gmail
  2. Fai clic qui per accedere a Accesso meno sicuro all’app  nel mio account.
  3. Accanto a “Consenti app meno sicure:  OFF ”, selezionare l’interruttore per accendere  su ON .

Questa impostazione potrebbe non essere disponibile per:

Per gli utenti di G-Suite: abilitazione delle app meno sicure per accedere agli account

  1. Accedi  alla tua Console di amministrazione Google (accedi utilizzando un  account amministratore , non il tuo account corrente.
  2. Fai clic su  Sicurezza> Impostazioni di base .
  3. In  App meno sicure , seleziona  Vai a impostazioni per app meno sicure .
  4. Nella finestra secondaria, selezionare il pulsante di opzione  Consenti agli utenti di gestire il loro accesso ad app meno sicure  .

Dopo aver impostato  Consenti agli utenti  di gestire il loro accesso ad app meno sicure  , gli utenti interessati all’interno del gruppo selezionato o Unità organizzativa saranno in grado di attivare o disattivare le app meno sicure.

Amministratori di G-Suite: imporre l’accesso ad app meno sicure per tutti gli utenti

Utilizzare questa impostazione quando si desidera che l’accesso da un’app meno sicura sia disponibile per tutti per un periodo di tempo limitato, ad esempio per gli aggiornamenti.

  1. Accedi  alla tua Console di amministrazione Google. Accedi utilizzando un  account amministratore
  2. Fai clic su  Sicurezza> Impostazioni di base .
  3. In  App meno sicure , seleziona  Vai a impostazioni per app meno sicure .
  4. Nella finestra secondaria, seleziona il  pulsante di opzione  Imponi accesso ad app meno sicure per tutti gli utenti .

Una volta impostato  Applica l’accesso ad app meno sicure per tutti gli utenti  , gli utenti interessati all’interno del gruppo selezionato o Unità organizzativa non saranno in grado di disattivare l’accesso per le app meno sicure. Dovrai ripristinare le impostazioni su  Consenti agli utenti di gestire il loro accesso ad app meno sicure  per consentire loro di attivare o disattivare le app meno sicure.

Grazie

Libreria GitHub


Spread the love
Exit mobile version