สำหรับไคลเอ็นต์ที่ไม่ใช่ Gmail นั้น Gmail รองรับโปรโตคอล IMAP, POP และ SMTP มาตรฐาน เซิร์ฟเวอร์ IMAP, POP และ SMTP ของ Gmail รองรับการให้สิทธิ์ด้วยโปรโตคอล OAuth 2.0 มาตรฐานอุตสาหกรรม
โปรโตคอล
IMAP, POP และ SMTP ใช้เลเยอร์การตรวจสอบสิทธิ์และความปลอดภัยอย่างง่าย (SASL) มาตรฐาน
โดยใช้คำสั่ง IMAP AUTHENTICATE, POP AUTH และ SMTP AUTH ในตัวเพื่อ
ตรวจสอบสิทธิ์ผู้ใช้ กลไก SASL XOAUTH2 ช่วยให้ไคลเอ็นต์ระบุข้อมูลเข้าสู่ระบบ OAuth 2.0 สำหรับการตรวจสอบสิทธิ์ได้ เอกสารประกอบโปรโตคอล SASL XOAUTH2 อธิบายกลไก SASL
XOAUTH2 โดยละเอียด และมีไลบรารีและตัวอย่างที่
ใช้โปรโตคอลนี้
การเชื่อมต่อขาเข้ากับเซิร์ฟเวอร์ IMAP ที่ imap.gmail.com:993 และเซิร์ฟเวอร์ POP ที่ pop.gmail.com:995 ต้องใช้ SSL เซิร์ฟเวอร์ SMTP ขาออก smtp.gmail.com รองรับ TLS หากไคลเอ็นต์ของคุณเริ่มต้นด้วยข้อความธรรมดาก่อนที่จะออกคำสั่ง STARTTLS ให้ใช้พอร์ต 465 (สำหรับ SSL) หรือพอร์ต 587 (สำหรับ TLS)
ขีดจำกัดระยะเวลาของเซสชัน
เซสชัน POP ของ Gmail จะมีอายุสูงสุดประมาณ 7 วัน เซสชัน IMAP ของ Gmail จะมีอายุประมาณ 24 ชั่วโมง หากคุณ ตรวจสอบสิทธิ์เซสชันโดยใช้ข้อมูลเข้าสู่ระบบ OAuth เซสชันจะมีอายุประมาณ ระยะเวลาที่โทเค็นเพื่อการเข้าถึงที่ใช้ได้ (โดยปกติคือ 1 ชั่วโมง) เซสชันในบริบทนี้คือการเชื่อมต่อ TCP ต่อเนื่อง 1 รายการ
เมื่อเวลาผ่านไปและเซสชันหมดอายุ Gmail จะปิด การเชื่อมต่อพร้อมข้อความที่ระบุว่าเซสชันหมดอายุแล้ว หลังจากนั้นไคลเอ็นต์จะเชื่อมต่อใหม่ ทำการตรวจสอบสิทธิ์อีกครั้ง และดำเนินการต่อได้ หากใช้ OAuth ให้ตรวจสอบว่าโทเค็นเพื่อการเข้าถึงที่ใช้ถูกต้อง (หากคุณพยายามใช้โทเค็นเพื่อการเข้าถึงที่เก่ากว่า 1 ชั่วโมง โทเค็นอาจไม่ถูกต้อง)
ไลบรารีและตัวอย่าง
เพื่อความสะดวก นักพัฒนาซอฟต์แวร์มักจะเข้าถึงอีเมลโดยใช้ IMAP หรือ POP และส่งอีเมล โดยใช้ SMTP กับไลบรารี IMAP และ SMTP ที่มีอยู่ ตราบใดที่ไลบรารีเหล่านี้รองรับSimple Authentication and Security Layer (SASL) ก็ควรจะใช้ได้กับกลไก SASL XOAUTH2 ที่ Gmail รองรับ
นอกเหนือจากเอกสารประกอบเกี่ยวกับโปรโตคอล SASL XOAUTH2 แล้ว คุณอาจต้องอ่านการใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานไคลเอ็นต์ OAuth 2.0
หน้าไลบรารีและตัวอย่าง OAuth 2.0 มีตัวอย่างโค้ด ในภาษาต่างๆ ที่ได้รับความนิยมโดยใช้กลไก SASL XOAUTH2 กับ ทั้ง IMAP หรือ SMTP