Lettura messaggi di posta tramite IMAP

Per ricevere la posta tramite Arduino, è consigliabile utilizzare il protocollo IMAP, che permette di accedere ai messaggi senza cancellarli automaticamente dal server, come invece succede con POP3.

Il metodo per collegarsi al server IMAP è lo stesso usato per inviare la posta tramite server SMTP; quello che cambia è la porta su cui ci si connette (143 per IMAP, 25 per SMTP), e ovviamente i comandi da inviare. Talvolta anche il server a cui bisogna collegarsi è diverso.

Rimandando al tutorial sull'invio di mail per lo sketch di connessione e invio comandi, elenchiamo qui solo i comandi necessari per collegarsi al server, controllare se c'e' posta e leggere un messaggio.

Nota: bisogna scrivere "." seguito da uno spazio prima di ogni comando

- Connessione al server:

telnet imap.libero.it 143

- Per fare il login:

. login nomeutente@server.it password

 SendMsg(". login " + Username + " " + Password);

- Per vedere il riassunto del contenuto di INBOX:

. select inbox

 SendMsg(". select inbox");

- Per leggere un dato (mittente, destinatario, oggetto e data) dall'header di un messaggio:

. fetch NUM_MEX (body[header.fields (from)])

. fetch NUM_MEX (body[header.fields (to)])

. fetch NUM_MEX (body[header.fields (subject)])

. fetch NUM_MEX (body[header.fields (date)])

 SendMsg(". fetch 2 (body[header.fields (subject)])");

- per leggere il testo di un messaggio:

. fetch NUM_MEX rfc822.text

 SendMsg(". fetch NUM_MEX rfc822.text");

Share