IMAP, POP และ SMTP

สำหรับไคลเอ็นต์ที่ไม่ใช่ 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 ที่มีอยู่เพื่อความสะดวก ไลบรารีเหล่านี้รองรับการตรวจสอบสิทธิ์อย่างง่ายและเลเยอร์ความปลอดภัย (SASL) ด้วย ไลบรารีเหล่านี้ควรใช้งานร่วมกับกลไก SASL XOAUTH2 ที่ Gmail สนับสนุน

นอกจากเอกสารโปรโตคอล SASL XOAUTH2 แล้ว คุณอาจต้องการอ่านการใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ไคลเอ็นต์ OAuth 2.0

หน้าห้องสมุดและตัวอย่างมีตัวอย่างโค้ดในภาษายอดนิยมต่างๆ โดยใช้กลไก SASL XOAUTH2 กับ IMAP หรือ SMTP