IMAP، POP و SMTP

برای کلاینت‌های غیر از جیمیل، جیمیل از پروتکل‌های استاندارد IMAP، POP و SMTP پشتیبانی می‌کند. سرورهای Gmail IMAP، POP و SMTP از احراز هویت با پروتکل استاندارد صنعتی 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) استفاده کنید.

محدودیت‌های طول جلسه

جلسات Gmail POP تقریباً تا ۷ روز طول می‌کشد. جلسات Gmail IMAP تقریباً تا ۲۴ ساعت طول می‌کشد. اگر جلسه را با استفاده از اعتبارنامه‌های OAuth تأیید اعتبار کرده باشید، تقریباً به اندازه مدت اعتبار توکن دسترسی استفاده شده (معمولاً ۱ ساعت) طول می‌کشد. یک جلسه در این زمینه، یک اتصال TCP پیوسته است.

وقتی زمان سپری می‌شود و جلسه منقضی می‌شود، جیمیل اتصال را با پیامی مبنی بر منقضی شدن جلسه می‌بندد. پس از آن، کلاینت می‌تواند دوباره متصل شود، دوباره احراز هویت کند و ادامه دهد. اگر از OAuth استفاده می‌کنید، مطمئن شوید که توکن دسترسی استفاده شده معتبر است (اگر سعی می‌کنید از توکن دسترسی قدیمی‌تر از ۱ ساعت استفاده کنید، ممکن است نامعتبر باشد).

کتابخانه‌ها و نمونه‌ها

برای راحتی، توسعه‌دهندگان اغلب با استفاده از IMAP یا POP به ایمیل دسترسی پیدا می‌کنند و با استفاده از SMTP با کتابخانه‌های IMAP و SMTP موجود، ایمیل ارسال می‌کنند. تا زمانی که این کتابخانه‌ها از لایه احراز هویت و امنیت ساده (SASL) پشتیبانی کنند، باید با مکانیسم SASL XOAUTH2 که توسط Gmail پشتیبانی می‌شود، سازگار باشند.

علاوه بر مستندات پروتکل SASL XOAUTH2، برای اطلاعات بیشتر در مورد پیاده‌سازی یک کلاینت OAuth 2.0، می‌توانید مقاله «استفاده از OAuth 2.0 برای دسترسی به APIهای گوگل» را نیز مطالعه کنید.

صفحه کتابخانه‌ها و نمونه‌های OAuth 2.0 نمونه‌های کد را به زبان‌های رایج مختلف با استفاده از مکانیزم SASL XOAUTH2 با IMAP یا SMTP ارائه می‌دهد.