สำหรับไคลเอ็นต์ที่ไม่ใช่ 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 ที่มีอยู่เพื่อความสะดวก ไลบรารีเหล่านี้รองรับการตรวจสอบสิทธิ์แบบง่ายและ Security Layer (SASL) ไลบรารีดังกล่าวควรเข้ากันได้กับกลไก SASL XOAUTH2 ที่ Gmail รองรับ
นอกจากเอกสารโปรโตคอล SASL XOAUTH2 แล้ว คุณอาจต้องการอ่านการใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งใช้งานไคลเอ็นต์ OAuth 2.0
หน้าไลบรารีและตัวอย่างมีตัวอย่างโค้ดในภาษายอดนิยมต่างๆ โดยใช้กลไก SASL XOAUTH2 กับ IMAP หรือ SMTP