IMAP, POP e SMTP

Per i client non Gmail, Gmail supporta i protocolli standard IMAP, POP e SMTP. 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 il Simple Authentication and Security Layer (SASL) standard, utilizzando i comandi IMAP AUTHENTICATE, POP AUTH e SMTP AUTH nativi integrati, 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 ed esempi che hanno implementato il protocollo.

Le connessioni in entrata 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 testo normale, prima di eseguire il comando STARTTLS, utilizza la porta 465 (per SSL) o la porta 587 (per TLS).

Limiti di durata delle sessioni

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 (di solito 1 ora). In questo contesto, una sessione è una connessione TCP continua.

Quando il tempo scade e la sessione termina, Gmail chiude la connessione con un messaggio che indica che la sessione è scaduta. Dopodiché, il client può riconnettersi, autenticarsi di nuovo e continuare. Se utilizzi OAuth, assicurati che il token di accesso utilizzato sia valido (se tenti di utilizzare un token di accesso più vecchio di un'ora, potrebbe non essere valido).

Librerie ed esempi

L'accesso alla posta tramite IMAP o POP e l'invio di posta tramite SMTP vengono spesso eseguiti utilizzando le librerie IMAP e SMTP esistenti per comodità. Se queste librerie supportano 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 una serie di linguaggi popolari che utilizzano il meccanismo SASL XOAUTH2 con IMAP o SMTP.