Per i client non Gmail, Gmail supporta i protocolli IMAP, POP e SMTP standard. I server IMAP, POP e SMTP di Gmail sono stati estesi per supportare l'autorizzazione tramite il protocollo OAuth 2.0 standard di settore.
Protocollo
IMAP, POP e SMTP utilizzano lo standard Simple Authentication and Security Layer (SASL), utilizzando i comandi IMAP AUTHENTICATE
, POP AUTH
e SMTP AUTH
nativi per autenticare gli utenti. Il meccanismo SASL XOAUTH2 consente ai client di fornire credenziali OAuth 2.0 per l'autenticazione. La documentazione del protocollo SASL XOAUTH2 descrive il meccanismo SASL XOAUTH2 in modo molto dettagliato e sono disponibili librerie e sample che hanno implementato il protocollo.
Le connessioni in arrivo al server IMAP all'indirizzo imap.gmail.com:993
e al server POP all'indirizzo pop.gmail.com:995
richiedono SSL. Il server SMTP in uscita, smtp.gmail.com
, supporta TLS. Se il client inizia con il testo non criptato, prima di emettere il comando STARTTLS, utilizza la porta 465
(per SSL) o la porta 587
(per TLS).
Limiti di durata della sessione
Le sessioni POP di Gmail sono limitate a circa 7 giorni. Le sessioni IMAP di Gmail sono limitate a circa 24 ore. Se la sessione è stata autenticata utilizzando le credenziali OAuth, è limitata al periodo di validità del token di accesso utilizzato (in genere 1 ora). Una sessione in questo contesto è una connessione TCP continua.
Allo scadere del tempo e della sessione, Gmail chiude la connessione con un messaggio che informa che la sessione è scaduta. Dopodiché, il client può ricollegarsi, autenticarsi di nuovo e continuare. Se utilizzi OAuth, assicurati che il token di accesso utilizzato sia valido (se provi a utilizzare un token di accesso precedente a 1 ora, potrebbe non essere valido).
Librerie ed esempi
Per comodità, spesso si accede alla posta utilizzando IMAP o POP e si invia la posta utilizzando SMTP con le librerie IMAP e SMTP esistenti. Se queste librerie supportano il Simple Authentication and Security Layer (SASL), dovrebbero essere compatibili con il meccanismo SASL XOAUTH2 supportato da Gmail.
Oltre alla documentazione del protocollo SASL XOAUTH2, ti consigliamo di leggere anche l'articolo Utilizzare OAuth 2.0 per accedere alle API di Google per ulteriori informazioni sull'implementazione di un client OAuth 2.0.
La pagina Librerie ed esempi fornisce esempi di codice in diversi linguaggi di programmazione comuni che utilizzano il meccanismo SASL XOAUTH2 con IMAP o SMTP.