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 in modo da supportare l'autorizzazione tramite il protocollo OAuth 2.0 standard di settore.

Protocollo

IMAP, POP e SMTP utilizzano il protocollo SASL (Semplice Authentication and Security Layer) standard, con i comandi IMAP nativi AUTHENTICATE, POP AUTH e SMTP AUTH integrati, per autenticare gli utenti. Il meccanismo SASL XOAUTH2 consente ai client di fornire le credenziali OAuth 2.0 per l'autenticazione. La documentazione relativa al protocollo SASL XOAUTH2 descrive il meccanismo SASL XOAUTH2 in modo dettagliato. Sono disponibili librerie ed esempi che hanno implementato il protocollo.

Le connessioni in entrata al server IMAP su imap.gmail.com:993 e al server POP su 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 inviare il comando STARTTLS, utilizza la porta 465 (per SSL) o la porta 587 (per TLS).

Limiti di lunghezza delle sessioni

Le sessioni POP di Gmail hanno un limite di circa sette giorni. Le sessioni IMAP di Gmail sono limitate a circa 24 ore. Se la sessione è stata autenticata utilizzando credenziali OAuth, il periodo è limitato 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 alla scadenza della sessione, Gmail chiude la connessione con un messaggio che informa della scadenza della sessione. Dopodiché, il client può riconnettersi, eseguire di nuovo l'autenticazione e continuare. Se utilizzi OAuth, assicurati che il token di accesso utilizzato sia valido (se provi a 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 della posta tramite SMTP vengono spesso eseguiti utilizzando per praticità le librerie IMAP e SMTP esistenti. Se queste librerie supportano il protocollo SASL (Simple Authentication and Security Layer), devono essere compatibili con il meccanismo SASL XOAUTH2 supportato da Gmail.

Oltre alla documentazione sul protocollo SASL XOAUTH2, puoi anche leggere l'articolo Utilizzo di 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 varietà di linguaggi diffusi utilizzando il meccanismo SASL XOAUTH2 con IMAP o SMTP.