IMAP Sunucusuna Nasıl Bağlanılır: Sunucular, Bağlantı Noktaları, SSL/TLS ve OAuth (2026 Rehberi)

Tanım

IMAP sunucu bağlantısı aslında şudur

Bir IMAP sunucu bağlantısı, e-posta istemcisi ile bir posta sunucusu arasındaki kalıcı bir TCP oturumudur ve İnternet Mesajı Erişim Protokolü'nü (IMAP) kullanarak, uzak sunucuda depolanan e-posta iletilerini sunucudan indirmeden veya silmeden senkronize eder, almanızı ve yönetmenizi sağlar.

POP3'ün aksine, mesajları yerel olarak indirmek ve sunucudan isteğe bağlı olarak silmek için tasarlanmışken, IMAP senkronizasyon için oluşturuldu. Yaptığınız her okuma, işaretleme, taşıma veya yerel olarak silme işlemi sunucuya yansıtılır ve dolayısıyla aynı posta kutusuna bağlı her cihazda da görünür. Bu nedenle IMAP, modern e-posta istemcileri için fiili protokol haline gelmiştir.

Ağ düzeyinde, bir IMAP sunucusu bağlantısı bir e-posta sunucusuna bir TCP soketi açar (tipik olarak SSL/TLS için 993 numaralı bağlantı noktası veya STARTTLS için 143 numaralı bağlantı noktası), bir TLS el sıkışması gerçekleştirir, kullanıcıyı kimliğini doğrular (parola, uygulama parolası veya OAuth 2.0 XOAUTH2 aracılığıyla) ve ardından bir durum makinesine girer: Kimlik Doğrulanamadı, Kimlik doğrulanmış, Seçildi (bir posta kutusu klasörünün içinde), veya Çıkış yap. Faydalı komutların çoğu - FETCH, SEARCH, STORE, COPY, EXPUNGE - yalnızca Seçili durumdayken çalışır.

E-posta entegrasyonları geliştiren geliştiriciler için IMAP sunucu bağlantısı en temel yapı taşıdır. Bağlantıyı kurar, kimliğini doğrular, bir posta kutusu SEÇER, ardından yeni mesajlar için yoklama yapar veya BEKLEME moduna geçersiniz. Bu kılavuz her adımı kapsar: her sağlayıcı için doğru ana bilgisayar ve bağlantı noktası, 2026'da doğru kimlik doğrulama yöntemi (OAuth giderek zorunlu hale geliyor) ve en yaygın hata modları için eksiksiz bir sorun giderme başvurusu.

Teknik Referans

IMAP portları açıklandı: 143, 993 ve STARTTLS ne zaman uygundur

Tam olarak iki adet aktif IMAP portu kullanılmaktadır: 993 (Açık TLS, modern standart) ve 143 (STARTTLS yükseltmesi veya düz metin, ki çoğu sunucu artık düz metne izin vermiyor). Farkı bilmek önemlidir çünkü yanlış portu kullanmak, bir IMAP entegrasyonu oluştururken bağlantı hatalarının en yaygın nedenlerinden biridir.

Miras / Koşullu
143
STARTTLS yükseltmesi ile IMAP

İstemci düz metin olarak bağlanır, ardından şunu verir: STARTTLS TLS'ye yükseltme komutu. En modern sunucular bu yükseltmeyi gerektirir ve düz metin oturumlarını tamamen reddeder.

Kurumsal IMAP sunucularında ve kendi kendine barındırılan e-postalarda (örn. Dovecot, Postfix) kabul edilebilir
Daha karmaşık el sıkışma: istemcinizin STARTTLS akışını açıkça işlemesi gerekir
Bulut sağlayıcılardan kaçının - hepsi 993'ü tercih ediyor
STARTTLS olmadan Port 143, neredeyse tüm modern posta sunucuları tarafından engellenir

2026 önerisi: her zaman bağlantı noktasını kullan 993 SSL_CONTEXT ile (örtük TLS). Yalnızca 143 numaralı bağlantı noktasını açan bir şirket IMAP sunucusuna karşı derleme yapıyorsanız, STARTTLS'i etkinleştirin ve sunucu sertifikasını doğrulayın. Üretimde asla düz metin üzerinden bir IMAP sunucusuna bağlanmayın - kimlik bilgileri açıkça iletilir ve çoğu sağlayıcı artık bu tür bağlantıları tamamen reddetmektedir.

Kısa bir not RFC 9051 (IMAP4rev2), Ağustos 2021'de RFC 3501'in halefi olarak yayınlandı. IMAP4rev2, kimlik bilgileri taşıyan herhangi bir bağlantı için resmi olarak TLS gerektirir, MD5 tabanlı kimlik doğrulama mekanizmalarını kaldırır ve kaldırır UZATILMIŞ-LİSTELE Eski istemcilerde gizli hatalara neden olan uyumsuzluklar. Büyük bulut sağlayıcıların çoğu (Gmail, Outlook) RFC tamamlanmadan yıllar önce pratikte IMAP4rev2 uyumluydu. Pratik olarak, 993 + TLS bağlantı noktasını hedefleyin ve varsayılan olarak RFC 9051 uyumlu olacaksınız.

Unipile - IMAP Sunucu ve Port Tablosu
Referans Tablosu

Sunucu ve port ayarları tablosu - Gmail, Outlook, Yahoo, iCloud, Zoho, Fastmail, AOL, ProtonMail Bridge

Aşağıdaki tablo, en yaygın kullanılan e-posta sağlayıcıları için doğru IMAP sunucu bağlantı ayarlarını listelemektedir. Tüm değerler, Mayıs 2026 itibarıyla her sağlayıcının resmi belgelerine göre doğrulanmıştır. Bir IMAP istemcisini yapılandırırken veya bir IMAP API entegrasyonu.

Sağlayıcı IMAP Ana Bilgisayarı Liman Şifreleme OAuth 2.0 (XOAUTH2) Notlar
Gmail logosuGmail
imap.gmail.com 993 SSL/TLS
Evet (yeni uygulamalar için zorunlu)
Uygulama parolaları çalışır ancak OAuth şiddetle tercih edilir. Öncelikle Gmail ayarlarında IMAP'i etkinleştirin.
Outlook logosuOutlook / Microsoft 365
outlook.office365.com 993 SSL/TLS
Evet (Temel Kimlik Doğrulama Aralık 2026'da kullanımdan kaldırılıyor)
Tüm kiracılar için Ocak 2023'te Basic Auth kullanım dışı bırakıldı. Şimdi OAuth'a geçiş yapın.
Y!Yahoo Posta
imap.mail.yahoo.com 993 SSL/TLS
Evet
2FA etkinse uygulama şifresi gereklidir. Yahoo'nun geliştirici portalı aracılığıyla OAuth.
iCiCloud Posta
imap.mail.me.com 993 SSL/TLS
Hayır (yalnızca uygulama şifresi)
Apple, appleid.apple.com adresinden uygulamaya özel bir parola gerektirir. OAuth XOAUTH2 desteği yok.
ZoZoho Posta
imap.zoho.com 993 SSL/TLS
Evet
Zoho Hesapları API üzerinden OAuth. IMAP, Zoho Posta ayarlarında posta kutusu başına etkinleştirilmelidir.
FmFastmail
imap.fastmail.com 993 SSL/TLS
Evet (JMAP tercih edilir)
Fastmail, JMAP'ı (IMAP'ten daha hızlı) yerel olarak destekler ancak IMAP tam olarak desteklenir. Uygulama parolaları mevcuttur.
AOLAOL Posta
imap.aol.com 993 SSL/TLS
Evet
Artık Yahoo Inc.'in bir parçası. 2FA etkinse uygulama şifresi gereklidir. Yahoo'nun geliştirici portalı üzerinden OAuth.
PrProtonMail Köprüsü
127.0.0.1 1143 STARTTLS
Hayır (Köprü belirteci kimlik doğrulaması)
ProtonMail Bridge yerel olarak çalışır ve yerel bir IMAP sunucusu sunar. Sunucu tarafı entegrasyonları için uygun değildir.
GGenel IMAP
senin-posta-sunucun.com 993 / 143 SSL/TLS STARTTLS
Değişken (sunucu yapılandırmasını kontrol edin)
Dovecot, Postfix, Zimbra, Courier. Desteklenen kimlik doğrulama mekanizmalarını görmek için sunucunuzun CAPABILITY yanıtını kontrol edin.
Gmail logosu Gmail
IMAP Ana Bilgisayarı imap.gmail.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet (yeni uygulamalar için zorunlu)
Uygulama parolaları çalışır ancak OAuth şiddetle tercih edilir. Öncelikle Gmail ayarlarında IMAP'i etkinleştirin.
Outlook logosu Outlook / Microsoft 365
IMAP Ana Bilgisayarı outlook.office365.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet (Temel Kimlik Doğrulama Aralık 2026'da kullanımdan kaldırılıyor)
Tüm kiracılar için Ocak 2023'te Basic Auth kullanım dışı bırakıldı. Şimdi OAuth'a geçiş yapın.
Y! Yahoo Posta
IMAP Ana Bilgisayarı imap.mail.yahoo.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet
2FA etkinse uygulama şifresi gereklidir. Yahoo'nun geliştirici portalı aracılığıyla OAuth.
iC iCloud Posta
IMAP Ana Bilgisayarı imap.mail.me.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Hayır (yalnızca uygulama şifresi)
Apple, appleid.apple.com adresinden uygulamaya özel bir parola gerektirir. OAuth XOAUTH2 desteği yok.
Zo Zoho Posta
IMAP Ana Bilgisayarı imap.zoho.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet
Zoho Hesapları API üzerinden OAuth. IMAP, Zoho Posta ayarlarında posta kutusu başına etkinleştirilmelidir.
Fm Fastmail
IMAP Ana Bilgisayarı imap.fastmail.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet (JMAP tercih edilir)
Fastmail, JMAP'ı (IMAP'ten daha hızlı) yerel olarak destekler ancak IMAP tam olarak desteklenir. Uygulama parolaları mevcuttur.
AOL AOL Posta
IMAP Ana Bilgisayarı imap.aol.com
Liman 993
Şifreleme SSL/TLS
OAuth 2.0
Evet
Artık Yahoo Inc.'in bir parçası. 2FA etkinse uygulama şifresi gereklidir. Yahoo'nun geliştirici portalı üzerinden OAuth.
Pr ProtonMail Köprüsü
IMAP Ana Bilgisayarı 127.0.0.1
Liman 1143
Şifreleme STARTTLS
OAuth 2.0
Hayır (Köprü belirteci kimlik doğrulaması)
ProtonMail Bridge yerel olarak çalışır ve yerel bir IMAP sunucusu sunar. Sunucu tarafı entegrasyonları için uygun değildir.
G Genel IMAP
IMAP Ana Bilgisayarı senin-posta-sunucun.com
Liman 993 / 143
Şifreleme SSL/TLS STARTTLS
OAuth 2.0
Değişken (sunucu yapılandırmasını kontrol edin)
Dovecot, Postfix, Zimbra, Courier. Desteklenen kimlik doğrulama mekanizmalarını görmek için sunucunuzun CAPABILITY yanıtını kontrol edin.

ProtonMail Üzerine Not: Bridge mimarisi, ProtonMail IMAP bağlantılarının yalnızca tek kullanıcılı masaüstü kurulumları için uygun olduğu anlamına gelir. Birden fazla hesap veya sunucu tarafı entegrasyonları için, ProtonMail standart IMAP üzerinden etkin bir şekilde desteklenmez. Gmail ve Outlook için ölçeklenebilir çözümler konusunda, özel kılavuzlarımıza bakınız E-posta API'leri için OAuth ve Microsoft Graph API E-posta.

Kod Örneği

Adım adım: ham bir IMAP sunucu bağlantısı açma

Aşağıda, Python'ın yerleşik kitaplığını kullanarak kimliği doğrulanmış bir IMAP sunucu bağlantısı açmanın minimal, çalışan örnekleri verilmiştir imaplib ve Node.js ile imapflow. Her iki örnek de uygulama şifresi kimlik doğrulaması kullanarak 993 numaralı bağlantı noktası üzerinden Gmail'e bağlanmaktadır. OAuth XOAUTH2 hakkında bilgi için aşağıdaki H2 #7 bölümüne bakınız.

Python (imaplib)
Node.js (imapflow)
imap_connect.py
İthalat imaplib İthalat ssl # IMAP sunucu ayarları IMAP_SUNUCUSU = "imap.gmail.com" IMAP_PORT = 993 KULLANICI ADI = "you@gmail.com" ŞİFRE = "senin-uygulama-şifren" # uygulamasının şifresi, hesap şifreniz değil # SSL bağlamı oluştur (sertifikaları doğrula) bağlam = ssl.varsayılan_bağlam_oluştur() # 993 numaralı bağlantı noktasında SSL bağlantısı aç ile imaplib.IMAP4_SSLIMAP_SUNUCUSU, IMAP_PORT, ssl_bağlamı=bağlam olarak imap: # Kimlik Doğrulama imap.Giriş(KULLANICI ADI, ŞİFRE) # Gelen kutusunu seç (mesaj sayısını döndürür) durum, veri = imap.seç("GELEN KUTUSU") print(Gelen kutusunda {data[0].decode()} mesaj var") # Gizli mesajları ara durum, mesaj_kimlikleri = imap.arama(Hiçbiri, "GÖRÜLMEMİŞ") print(Görülmemiş: {msg_ids[0].decode()}") # Oturum Kapatma (bağlantı 'with' bloğunun sonunda kapanır)
imap_connect.mjs
// imapflow'u yükleyin İthalat { ImapAkışı } itibaren 'imapflow'; const müşteri = yeni ImapAkışı({ ana makine: 'imap.gmail.com', liman 993, güvenli true, // 993 numaralı portta SSL/TLS auth: { kullanıcı: 'you@gmail.com', geçiş 'uygulamanız-parolası' }, günlükleyici Yanlış }); bekliyor müşteri.bağlan(); // INBOX posta kutusunu özel erişim için kilitle izin kilit = bekliyor müşteri.Posta Kutusu Kilidi Al('GELEN KUTUSU'); denemek { // Son 5 mesajı getir (sadece başlıklar) için bekliyor (izin mesaj . müşteri.fetch('1:5', { zarf: true })) { konsol.log(konu.zarf.mesaj); } } sonunda { kilit.yayınla(); } bekliyor müşteri.çıkış();

Python örneği kullanıyor IMAP4_SSL - TLS anlaşmasını otomatik olarak yöneten üst düzey SSL sarmalayıcısı. Kullanmaktan kaçının IMAP4 + kılavuz starttls() Bulut sağlayıcıları için karmaşıklık eklediği ve fayda sağlamadığı için. Node.js için, imapflow modern, Promise tabanlı seçenek mi (daha eski node-imap kütüphane 2024 itibarıyla bakımı yapılmamaktadır ve XOAUTH2'yi desteklememektedir).

Her iki örnek de hızlı testler için en basit kimlik bilgisi türü olan uygulama şifrelerini kullanır. Birden çok kullanıcıyı işleyen üretim sistemleri için, XOAUTH2 bölümüne bakın. Ham IMAP bağlantılarını yönetmeden uçtan uca, üretim ortamına hazır bir çözüm için, bölüme bakın. IMAP API geliştirici kılavuzu.

IMAP standart kodunu atla. Unipile, Gmail, Outlook ve IMAP'te okuma, gönderme ve senkronizasyon işlemlerini tek bir REST API üzerinden yapmanızı sağlar - bağlantı yönetimi gerektirmez.

IMAP önbelleğini atla - Unipile ile oluşturun
Kimlik Doğrulama

Kimlik Doğrulama: parola, uygulama parolası ve OAuth 2.0 (XOAUTH2)

Bir IMAP sunucusu bağlantısı, TLS el sıkışmasından sonra kimlik doğrulaması gerektirir. Günümüzde kullanılan üç kimlik doğrulama yöntemi bulunmaktadır. Her birinin farklı güvenlik profilleri, karmaşıklık düzeyleri ve 2026'da bulut sağlayıcılarıyla uyumlulukları vardır.

1
Temel Kimlik Doğrulama (kullanıcı adı + şifre)

Orijinal IMAP AUTH PLAIN / LOGIN mekanizması. Hesap e-posta adresini ve hesap parolasını doğrudan IMAP sunucusuna gönderirsiniz. Uygulaması basittir ancak güvenlik nedenleriyle bulut sağlayıcıları tarafından giderek daha fazla engellenmektedir.

Bulut için kullanım dışı bırakıldı
2
Uygulama Şifresi

Sağlayıcı (Gmail, Yahoo, iCloud) tarafından oluşturulan ve gerçek hesap parolasının yerine geçen 16 karakterli bir belirteçtir. Temel Kimlik Doğrulama ile aynı IMAP LOGIN komutuyla çalışır ancak kapsamlıdır ve bağımsız olarak iptal edilebilir. İki faktörlü kimlik doğrulama etkinleştirildiğinde gereklidir.

Kişisel kullanım için uygundur
3
OAuth 2.0 (XOAUTH2)

Kullanıcı, uygulamanıza bir onay ekranı aracılığıyla yetki verir. Uygulamanız, erişim belirtecini (kısa ömürlü, tipik olarak 1 saat) alır ve bunu base64 ile kodlayarak IMAP AUTHENTICATE XOAUTH2 komutuna iletir. Belirteçler, uzun ömürlü bir yenileme belirteci ile yenilenir. Çok kullanıcılı üretim uygulamaları için tek geçerli yöntem budur.

Üretim için gerekli

Hangisini ne zaman kullanmalı: Uygulama parolalarını yerel geliştirme ve kişisel araçlar için kullanın. Çok kullanıcılı entegrasyonlar için OAuth 2.0 XOAUTH2 kullanın - bu ölçeklenebilen tek yöntemdir, çünkü asla kullanıcı parolalarını saklamazsınız ve her jeton, kullanıcının parolasını değiştirmeden iptal edilebilir. Gmail için Google, 2022"den beri "daha az güvenli uygulamalar" için Temel Kimlik Doğrulamayı aşamalı olarak kısıtlamaktadır. Microsoft/Outlook için Temel Kimlik Doğrulama'nın tüm kiracılarda Aralık 2026'da desteği sona erecektir (bir sonraki bölüme bakın).

OAuth akışları hakkında derinlemesine bilgi için - token değişimi, yenileme mantığı ve kapsamlar dahil - kılavuzumuza bakın E-posta API'leri için OAuth. Microsoft'a özgü OAuth kurulumu için, Microsoft Graph OAuth, Outlook.

Harekete Geçilmeli 2026

2026 sorunu: Microsoft Temel Kimlik Doğrulama'nın kullanımdan kaldırılması (Aralık 2026)

IMAP entegrasyonunuz kullanıcı adı ve şifre ile doğrudan Microsoft 365 veya Outlook hesaplarına bağlanıyorsa bir geri sayımdasınız. Microsoft, tüm kullanıcılar için IMAP, POP3 ve SMTP genelinde Temel Kimlik Doğrulama için nihai kullanım ömrü sonu tarihini duyurdu.

Microsoft Temel Kimlik Doğrulama Kullanım Dışı Kalma: Aralık 2026

Göre Microsoft Learn ve Microsoft Topluluk Merkezi duyurusu, Exchange Online, IMAP, POP3 ve SMTP için Temel Kimlik Doğrulamayı Aralık 2026'da tamamen devre dışı bırakacak tüm kiracılarda - mevcut muafiyetleri olanlar da dahil. Kullanıcı adı/parola kimlik doğrulaması kullanan tüm IMAP istemcileri veya sunucu tarafı entegrasyonları çalışmayı durduracaktır. Başka bir uzatma mevcut değildir.

Son tarihten önce geçiş yapmak için atılacak adımlar

1
Entegrasyonlarınızı denetleyin

IMAP bağlantılarını kod tabanınızda ara Giriş yap(kullanıcı adı, şifre) veya YETKİLENDİRME DÜZ. IMAP Temel Kimlik Doğrulaması etkinliği için Microsoft Entra ID (eski adıyla Azure AD) oturum açma günlüklerini kontrol edin.

2
Microsoft Entra ID'de bir uygulama kaydedin

portal.azure.com adresinde bir uygulama kaydı oluşturun IMAP.ErişimKullanıcıOlarak.Tüm (devredilmiş) veya IMAP.UygulamaOlarakErişim (uygulama) izni. Gör Microsoft Graph OAuth, Outlook adım adım bir kılavuz için.

3
OAuth 2.0 belirteci edinmeyi uygulayın

ERİŞİM BELGELERİ ALMAK İÇİN MSAL (MICROSOFT AUTHENTICATION LIBRARY) KULLANIN. UZUN ÖMÜRLÜ IMAP OTURUMLARINI KULLANICI YENİDEN DOĞRULAMASI OLMADAN SÜRDÜRMEK İÇİN, BELİRTİLEN 1 SAATLİK BEKLEME SÜRESİNCE SÜRESİ DOLAN MICROSOFT BELGELERİ İÇİN BELGE YENİLEME İŞLEVİ UYGULAYIN. YENİLEME BELGESİ AKIŞI GEREKLİDİR.

4
GİRİŞ YAP XOAUTH2 DOĞRULA

IMAP'ı değiştirin GİRİŞ YAP komut ile XOAUTH2 DOĞRULA Aşağıdaki XOAUTH2 bölümünde tam kod örneğini görebilirsiniz. base64 ile kodlanmış bir jeton dizisi kullanarak.

5
Son teslim tarihinden önce bir hazırlık kiracısında test edin

Microsoft, kiracı başına Temel Kimlik Doğrulamayı erken devre dışı bırakmanın bir yolunu sunar - Aralık 2026 zorunlu kesintisi öncesinde OAuth akışınızı test etmek için bunu kullanın, böylece son teslim tarihi baskısı altında üretim sorunlarını ayıklamak zorunda kalmazsınız.

Birden çok Microsoft 365 kullanıcısı için IMAP bağlantılarını yönetiyorsanız - CRM, ATS veya satış otomasyon araçları için yaygın bir senaryo - geçiş karmaşıklığı hızla artar. Her kullanıcı için OAuth onay akışlarını yönetmeniz, belirteçleri güvenli bir şekilde depolamanız ve yenilemeniz ve bazı kiracılarda uygulamanızı engelleyebilecek koşullu erişim ilkeleriyle uğraşmanız gerekir. Geliştiricilerin ham bağlantıları kendileri yönetmek yerine yönetilen bir IMAP API'sini tercih etmelerinin temel nedenlerinden biri budur.

Microsoft Basic Auth son teslim tarihi yaklaşıyor. Unipile'ın birleşik e-posta API'si ile geleceğe hazır bir OAuth akışı oluşturun - token yenileme, çok kiracılı kimlik doğrulama ve XOAUTH2 işlemlerini sizin için biz hallediyoruz.

Geleceğe dönük bir OAuth akışı oluşturun
Unipile - XOAUTH2 Kod Bloğu
OAuth 2.0 Kodu

OAuth XOAUTH2 ile bağlanma

XOAUTH2, bir IMAP sunucusu bağlantısını parola yerine bir OAuth 2.0 erişim belirteci kullanarak kimlik doğrulamanıza olanak tanıyan SASL mekanizmasıdır. Belirteç, standart OAuth yetkilendirme kodu akışı (veya hizmet hesapları için istemci kimlik bilgileri) aracılığıyla elde edilir, belirli bir formata base64 ile kodlanır ve şuraya iletilir: XOAUTH2 DOĞRULA IMAP komutu.

Gmail logosuGmail (Google)
Outlook logosuMicrosoft 365
gmail_xoauth2.py
İthalat imaplib, base64, json itibaren google.oauth2.kimlik bilgileri İthalat Kimlik Bilgileri itibaren google.auth.transport.requests İthalat Talep # Daha önce alınmış OAuth kimlik bilgilerini yükle # (google-auth-oauthlib akışından) kimlik bilgileri = Kimlik bilgileri belirteç=ACCESS_TOKEN, yenileme_belirteci=YENİLEME_BELİRTECI, token_uri="https://oauth2.googleapis.com/token", client_id=MÜŞTERİ_KİMLİĞİ, client_secret=CLIENT_SECRET, kapsamlar=["https://mail.google.com/"] ) # Süresi dolmuşsa yenileme jetonu eğer krediler.süresi_dolmuş: kimlik bilgileri.yenile(Talep()) # XOAUTH2 dizesi oluştur: "user={email}\x01auth=Bearer {token}\x01\x01"" kullanici_e_postasi = "user@gmail.com" kimlik doğrulama dizesi = f"kullanıcı={user_email}\x01auth=Bearer {creds.token}\x01\x01" auth_b64 = base64.b64encode(yetkilendirme_dizesi.kodlamak()).decode() # IMAP bağlantısını aç ve kimlik doğrulamasını yap ile imaplib.IMAP4_SSL("imap.gmail.com", 993) olarak imap: imap.kimlik doğrula("XOAUTH2", lambda _: kimlik_b64) imap.seç("GELEN KUTUSU") print("XOAUTH2 ile Bağlandı")
outlook_xoauth2.py
İthalat imaplib, base64 itibaren msal İthalat Gizli İstemci Uygulaması # MSAL aracılığıyla jeton alma (hizmet hesapları için istemci kimlik bilgileri akışı) # Kullanıcı tarafından yetkilendirilmiş erişim için bunun yerine kimlik doğrulama kodu akışını kullanın uygulama = Gizli İstemci Uygulaması( client_id=MÜŞTERİ_KİMLİĞİ, yetki=https://login.microsoftonline.com/{TENANT_ID}", uye_kimlik_bilgileri=CLIENT_SECRET ) sonuç = uygulama.istemci için belirteç edin( kapsamlar=["https://outlook.office365.com/.default"] ) erişim_belirteci = sonuç["erişim_belirteci"] # XOAUTH2 dizesini oluştur kullanici_e_postasi = "user@company.com" kimlik doğrulama dizesi = f"kullanıcı={user_email}\x01kimlik=Bearer {access_token}\x01\x01" auth_b64 = base64.b64encode(yetkilendirme_dizesi.kodlamak()).decode() # Outlook IMAP'e Bağlan ile imaplib.IMAP4_SSL("outlook.office365.com", 993) olarak imap: imap.kimlik doğrula("XOAUTH2", lambda _: kimlik_b64) imap.seç("GELEN KUTUSU") print("Outlook'a XOAUTH2 ile Bağlandı")

Gmail ve Microsoft XOAUTH2 arasındaki temel farklar: Gmail, şunları gerektirir: https://mail.google.com/ kapsamı (tam Gmail erişimi). Microsoft gerektirir IMAP.ErişimKullanıcıOlarak.Tüm (devredilmiş) veya IMAP.UygulamaOlarakErişim (uygulama). Base64 XOAUTH2 dizisi biçimi her iki sağlayıcı için de aynıdır: kullanıcı={email}\x01auth=Bearer {token}\x01\x01.

Tek bir kritik uygulama detayı: tokenlar 3600 saniye sonra süresi dolar. Uzun süreli bir IMAP IDLE oturumu (bir sonraki bölüme bakınız), belirteç oturum ortasında sona erdiğinde bir kimlik doğrulama hatası alacaktır. Bunu yakalamanız gerekir Kimlik Doğrulama Başarısız hata, kimlik doğrulama belirtecinizi yenilemek için yenileme belirtecini kullanın, ardından IMAP bağlantısını yeniden kurun. Bu yeniden deneme döngüsü önemsiz değildir ve ekiplerin yönetilen bir API gibi şeyi tercih etmesinin temel nedenlerinden biridir Birleşik E-posta API Kılavuzu ham IMAP bağlantıları yerine.

Microsoft için koşullu erişim ilkesi göz önünde bulundurmaları dahil olmak üzere eksiksiz bir OAuth kurulum kılavuzu için bkz. Microsoft Graph OAuth, Outlook rehber.

OAuth XOAUTH2, Google gibi servislerde kimlik doğrulama için kullanılan bir protokol uzantısıdır. Kullanıcı adı ve şifre yerine erişim belirteçlerini kullanır. Bu, uygulamaların kullanıcının şifresini bilmesine gerek kalmadan belirli hizmetlere erişmesini sağlar. XOAUTH2, IMAP, POP3 ve SMTP protokolleriyle uyumludur. Yetkilendirme işlemi, bir erişim belirtecinin alınmasıyla başlar. Bu belirteç daha sonra sunucuya kimlik doğrulaması için gönderilir. Güvenlik açısından önemli bir gelişmedir çünkü şifrelerin daha az paylaşılmasını sağlar. Uygulamalar, kullanıcı adına hareket ederek görevleri yerine getirebilir. Bu sistem, üçüncü taraf uygulamaların güvenli bir şekilde kullanıcı verilerine erişimini mümkün kılar. Özetle, XOAUTH2, daha güvenli ve esnek kimlik doğrulama sağlayan bir mekanizmadır. Unipile, token alımını, yenilenmesini ve IMAP yeniden kimlik doğrulamasını otomatik olarak halleder. Bağlantı yönetimiyle değil, e-postaları okumaya odaklanırsınız.

Unipile ile OAuth XOAUTH2'yi 10 satırda kurun
Gerçek Zamanlı Senkronizasyon

IDLE, yoklama ve anlık bildirimler: IMAP bağlantısını canlı tutmak

Kimlik doğrulanmış bir IMAP sunucu bağlantınız olduğunda, bir sonraki zorluk, sunucuyu sürekli isteklerle zorlamadan yeni iletileri verimli bir şekilde algılamaktır. Bugün kullanılan üç farklı desen vardır - her birinin kendine özgü gecikme, karmaşıklık ve altyapı gereksinimleri vardır.

Yöntem Nasıl çalışır Gecikme Altyapı En iyisi Puanlama
IMAP IDLE (RFC 2177) İstemci, boşta komutunu kullanıyor; yeni e-posta geldiğinde sunucu açık TCP bağlantısı üzerinden VARLIK/YENİ bildirimleri gönderiyor. İstemci, 29 dakika (sunucu zaman aşımı) sonra BİTTİ komutunu göndermeli ve erneut BOŞTA komutunu göndermelidir. ~1-5 saniye Posta kutusu başına 1 kalıcı TCP bağlantısı. Özel bir iş parçacığı veya eşzamansız döngü gerektirir. Tek kullanıcılı araçlar, masaüstü istemcileri, düşük gecikmeli izleme İyi
Yoklama (NOOP / KONTROL ET) İstemci periyodik olarak yeniden bağlanır, yeni mesajları aramak için SELECT + SEARCH UNSEEN komutunu verir ve sonra bağlantıyı keser. Basit ve durum bilgisi tutmayan. Anket aralığına eşit (tipik olarak 1-15 dakika) Durumsuz. NAT/güvenlik duvarlarının arkasında çalışır. Kalıcı bağlantı yok. Yığın işlemleme, yüksek gecikmeye toleranslı, kalıcı bağlantıların engellendiği ortamlar Kabul Edilebilir
Sağlayıcı anında iletim (Gmail Pub/Sub, MS Graph web kancaları) Sağlayıcı yeni e-posta geldiğinde webhook uç noktanıza HTTP bildirimi gönderir. Beklemede IMAP bağlantısı gerekmez. Gmail Google Cloud Pub/Sub kullanır; Microsoft MS Graph değişiklik bildirimlerini kullanır. Gerçek zamana yakın(tipik olarak 1 saniyeden az) Kalıcı beklemedeki IMAP bağlantısı olmadan, genel bir HTTPS uç noktası ve Pub/Sub aboneliği gerektirir. Yüksek ölçekli çoklu hesap üretim sistemleri, sunucusuz mimariler Ölçekte en iyisi

IDLE, basit entegrasyonlar için doğru seçimdir birkaç hesabı yönettiğiniz yer. En önemli dikkat edilmesi gerekenler: 29 dakikalık BOŞTA kalma süresi dolmadan yeniden bağlanmanız gerekir (Gmail bunu kesinlikle zorunlu kılar) ve her posta kutusu için ayrı IMAP bağlantılarına ihtiyacınız olur - bu, yüzlerce veya binlerce hesapta pahalı hale gelir.

Sağlayıcı anlık bildirimleri Gmail'in Pub/Sub entegrasyonu ve Microsoft Graph'ın abonelik web kancaları, her hesap için kalıcı bir IMAP bağlantısı gerektirmeden neredeyse gerçek zamanlı bildirimler sunar. Karşılığında: bildirim aldığınızda gerçek ileti gövdesini almak için yine de bir IMAP bağlantısı açmanız gerekir, bu da IMAP bağlantı kodunuzun hala gerekli olduğu anlamına gelir - sadece sürekli açık tutulmaz. API aracılığıyla e-posta mesajlarını okumak için kılavuzumuza bakın: API üzerinden e-posta okuma ve API üzerinden e-posta gönderme.

Unipile - IMAP Sorun Giderme Matrisi
Sorun giderme

Sorun Giderme Matrisi: Zaman Aşımları, El Sıkışma Hataları, Kimlik Doğrulama Hataları, Hız Sınırları

Aşağıda, en yaygın IMAP sunucu bağlantı hataları için yapılandırılmış bir referans bulunmaktadır. Belirtiyi (hata mesajı veya gözlemlenebilir davranış) muhtemel nedene ve önerilen düzeltmeye eşleştirin.

Belirti / Hata Kategori Olası Neden Düzelt
993 numaralı bağlantı noktasına bağlantı reddedildi Bağlantı Yanlış ana bilgisayar, sağlayıcı ayarlarında IMAP devre dışı bırakılmış veya güvenlik duvarı giden 993'ü engelliyor Yukarıdaki tablodan ana bilgisayarı doğrulayın. Sağlayıcı ayarlarında IMAP'i etkinleştirin (Gmail: Ayarlar > Yönlendirme ve POP/IMAP). Giden TCP 993 için güvenlik duvarını/vekil sunucusunu kontrol edin.
SSL el sıkışma zaman aşımı / CERTIFICATE_VERIFY_FAILED TLS Süresi dolmuş veya kendi imzalı sertifika, güncel olmayan CA paketi, yanlış port (993 yerine 143) Kullanım ssl.create_default_context() (Python) - geçme ssl._create_unverified_context() üretimde. CA paketini güncelleyin (pip install certifi993 numaralı porta bağlandığınızı onaylayın.
Kimlik Doğrulama Başarısız / [KİMLİK DOĞRULAMA BAŞARISIZ] Geçersiz kimlik bilgileri Auth Yanlış şifre, uygulama şifresi oluşturulmadı, 2FA etkin ama uygulama şifresi kullanılmıyor, Temel Kimlik Doğrulama sağlayıcı tarafından engellendi Sağlayıcının güvenlik ayarlarından uygulamaya özel bir şifre oluşturun. Gmail kullanıyorsanız, "Daha az güvenli uygulama erişimi" yöntemini kullanmadığınızdan emin olun - uygulama şifresi veya OAuth kullanın. Microsoft için, temel kimlik doğrulamasının kiracı için devre dışı bırakılıp bırakılmadığını kontrol edin.
DOĞRULA XOAUTH2 - geçersiz_token OAuth Erişim belirteci süresi doldu (belirteçler 3600 saniye geçerlidir), bozuk base64 XOAUTH2 dizesi, yanlış kapsam XOAUTH2 dizesi biçimini doğrulayın: öğesine bağlanmadan önce erişim belirtecini yenileyin. kullanıcı={email}\x01auth=Bearer {token}\x01\x01. Kapsam kontrolü: Gmail'in ihtiyacı var https://mail.google.com/; Outlook'un ihtiyacı var IMAP.ErişimKullanıcıOlarak.Tüm.
imaplib.error: AUTHENTICATE komutu AUTH durumunda yasa dışı Eyalet Kimlik doğrulanmış durumda veya sıfırlama olmadan başarısız bir kimlik doğrulama girişiminden sonra kimlik doğrulamayı deneme Kimlik doğrulamayı yeniden denemeden önce IMAP bağlantısını kapatıp yeniden açın. Hata sonrası aynı bağlantıda kimlik doğrulamayı asla yeniden denemeyin.
IMAP bağlantısı 29 dakika IDLE'dan sonra kopuyor BOŞTA Sunucu tarafından zorlanan BOŞTA kalma süresi sınırı (standart: RFC 2177'ye göre 30 dakika). Gmail 29 dakika uygular. Sorun BİTTİ 25-27 dakikalar arasında, ardından hemen yeniden yayınlayın BOŞTA. Arka plan iş parçacığı veya 25 dakikalık bir kalp atış hızı zamanlayıcısı ile eşzamansız görev kullanın.
[KOTA AŞILDI] veya Çok fazla eşzamanlı bağlantı Hız Limidi Sağlayıcı tarafından zorlanan bağlantı sınırı aşıldı. Gmail hesap başına 15 eşzamanlı IMAP bağlantısına izin verirken, Outlook plana göre değişkenlik gösterir. Bağlantı havuzlamayı kullanın. Gmail için: hesap başına maksimum 15 eşzamanlı bağlantı. Boşta kalan bağlantıları açıkça kapatın (ÇIKIŞ YAPTCP'yi bırakmak yerine üslü gerileme uygula.
OTURUM AÇIN [UYARI] Lütfen web tarayıcınız üzerinden oturum açın Auth Google güvenlik mücadelesi tetiklendi (olağan dışı erişim deseni, yeni IP, captcha gerekli) Tarayıcıdan aynı ağ üzerinden giriş yaparak güvenlik aşamasını geçin. OAuth'u kullanmayı düşünün - bilinmeyen IP'lerden uygulama parolasıyla erişim bu aşamaların daha sık tetiklenmesine neden olur.
BYE Otomatik Oturum Kapatma; çok uzun süre boş kaldı Bağlantı Kimliği doğrulanmış durumdaki IMAP bağlantısı (posta kutusu seçilmedi) çok uzun süre boşta kaldı Kimlik doğrulama sonrasında derhal bir posta kutusu SEÇİN veya IDLE komutunu verin. BYE aldığınızda yeniden bağlanma mantığını uygulayın.
FETCH boş gövde / nil parçaları döndürüyor Protokol Mesaj, ARAMA ve AL izme arasında silindi veya klasör yeniden tarandıktan sonra UID eşleşmedi Her zaman kullan UID ÇEKME Çok adımlı işlemler için (sıra numaraları olmadan). İşle Hiçbiri FETCH'ten gelen değerleri zarifçe döndürün. Yeni UID'leri almak için yeniden bağlandıktan sonra SEARCH'i yeniden yayınlayın.
993 numaralı bağlantı noktasına bağlantı reddedildi Bağlantı
Olası Neden Yanlış ana makine, sağlayıcı ayarlarında IMAP devre dışı bırakılmış veya güvenlik duvarı giden 993'ü engelliyor.
Düzelt Yukarıdaki tablodan ana bilgisayarı doğrulayın. Sağlayıcı ayarlarında IMAP'i etkinleştirin (Gmail: Ayarlar > Yönlendirme ve POP/IMAP). Giden TCP 993 için güvenlik duvarını/vekil sunucusunu kontrol edin.
SSL el sıkışma zaman aşımı / CERTIFICATE_VERIFY_FAILED TLS
Olası Neden Geçersiz veya kendi kendine imzalanmış sertifika, güncel olmayan CA paketi, yanlış port (993 yerine 143).
Düzelt Kullanım ssl.create_default_context() (Python) - geçme ssl._create_unverified_context() üretimde. CA paketini güncelleyin (pip install certifi993 numaralı porta bağlandığınızı onaylayın.
Kimlik Doğrulama Başarısız / Geçersiz kimlik bilgileri Auth
Olası Neden Yanlış şifre, uygulama şifresi oluşturulmamış, 2FA etkin ancak uygulama şifresi kullanılmamış, Temel Kimlik Doğrulama sağlayıcı tarafından engellendi.
Düzelt Sağlayıcının güvenlik ayarlarından uygulamaya özel bir şifre oluşturun. Gmail kullanıyorsanız, "Daha az güvenli uygulama erişimi" yöntemini kullanmadığınızdan emin olun - uygulama şifresi veya OAuth kullanın. Microsoft için, temel kimlik doğrulamasının kiracı için devre dışı bırakılıp bırakılmadığını kontrol edin.
DOĞRULA XOAUTH2 - geçersiz_token OAuth
Olası Neden Erişim jetonu süresi doldu (jetonlar 3600 saniye sürer), bozuk base64 XOAUTH2 dizesi, yanlış kapsam.
Düzelt XOAUTH2 dizesi biçimini doğrulayın: öğesine bağlanmadan önce erişim belirtecini yenileyin. kullanıcı={email}\x01auth=Bearer {token}\x01\x01. Kapsam kontrolü: Gmail'in ihtiyacı var https://mail.google.com/; Outlook'un ihtiyacı var IMAP.ErişimKullanıcıOlarak.Tüm.
imaplib.error: AUTHENTICATE, YETKİLENDİRME durumu geçerli değil Eyalet
Olası Neden Kimliği doğrulanmış durumda iken veya sıfırlama yapmadan başarısız bir kimlik doğrulama denemesinden sonra kimlik doğrulaması yapmaya çalışılıyor.
Düzelt Kimlik doğrulamayı yeniden denemeden önce IMAP bağlantısını kapatıp yeniden açın. Hata sonrası aynı bağlantıda kimlik doğrulamayı asla yeniden denemeyin.
IMAP bağlantısı 29 dakika IDLE'dan sonra kopuyor BOŞTA
Olası Neden Sunucu tarafından zorlanan BOŞTA kalma süresi sınırı (standart: RFC 2177'ye göre 30 dakika). Gmail 29 dakika uygular.
Düzelt Sorun BİTTİ 25-27 dakikalar arasında, ardından hemen yeniden yayınlayın BOŞTA. Arka plan iş parçacığı veya 25 dakikalık bir kalp atış hızı zamanlayıcısı ile eşzamansız görev kullanın.
[KOTA AŞILDI] veya Çok fazla eşzamanlı bağlantı Hız Limidi
Olası Neden Sağlayıcı tarafından zorlanan bağlantı sınırı aşıldı. Gmail hesap başına 15 eşzamanlı IMAP bağlantısına izin verirken, Outlook plana göre değişkenlik gösterir.
Düzelt Bağlantı havuzlamayı kullanın. Gmail için: hesap başına maksimum 15 eşzamanlı bağlantı. Boşta kalan bağlantıları açıkça kapatın (ÇIKIŞ YAPTCP'yi bırakmak yerine üslü gerileme uygula.
OTURUM AÇIN [UYARI] Lütfen web tarayıcınız üzerinden oturum açın Auth
Olası Neden Google güvenlik kontrolü tetiklendi (olağandışı erişim paterni, yeni IP, captcha istendi).
Düzelt Tarayıcıdan aynı ağ üzerinden giriş yaparak güvenlik aşamasını geçin. OAuth'u kullanmayı düşünün - bilinmeyen IP'lerden uygulama parolasıyla erişim bu aşamaların daha sık tetiklenmesine neden olur.
BYE Otomatik Oturum Kapatma; çok uzun süre boş kaldı Bağlantı
Olası Neden Kimlik doğrulaması yapılmış IMAP bağlantısı (posta kutusu seçilmedi) çok uzun süre boşta kaldı.
Düzelt Kimlik doğrulama sonrasında derhal bir posta kutusu SEÇİN veya IDLE komutunu verin. BYE aldığınızda yeniden bağlanma mantığını uygulayın.
FETCH boş gövde / nil parçaları döndürüyor Protokol
Olası Neden Mesaj, ARAMA ve ALMA arasındaki bir işleme sırasında silindi veya klasör yeniden tarandıktan sonra UID eşleşmedi.
Düzelt Her zaman kullan UID ÇEKME Çok adımlı işlemler için (sıra numaraları olmadan). İşle Hiçbiri FETCH'ten gelen değerleri zarifçe döndürün. Yeni UID'leri almak için yeniden bağlandıktan sonra SEARCH'i yeniden yayınlayın.

IMAP hatalarını ayıklamayı durdurun. Unipile, REST aracılığıyla temiz e-posta nesneleri sunar - IMAP durum makinesi yok, jeton yenileme mantığı yok, yönetilecek bağlantı havuzu yok.

IMAP ayıklamayı durdur - Oluşturmaya başla
Yapım Gerçekliği

Üretim kalitesinde IMAP'in büyük ölçekte görünenden daha zor olmasının nedeni

Tek bir IMAP sunucusu bağlantısını bir Gmail gelen kutusuna açmak 15 satır Python kodudur. Bunu, üretim yapan bir SaaS ürünündeki yüzlerce veya binlerce kullanıcıya ölçeklendirmek, temelde farklı bir mühendislik sorunudur. İşte ham IMAP bağlantılarının gözden kaçan karmaşıklık yarattığı yerlerin dürüst bir dökümü.

OAuth belirteci yaşam döngüsü yönetimi

Erişim jetonları her 3600 saniyede bir sona erer. 1000 bağlantılı hesap için, jetonları süresi dolmadan proaktif olarak yenileyen, jeton döndürmeyi (Google belirli koşullar altında bunları döndürür) yöneten ve kullanıcının erişimi iptal etmesi durumunu (bunu yalnızca bir sonraki jeton kullanımında keşfedersiniz) yöneten arka plan işine ihtiyacınız vardır.

Çoklu hesap IMAP bağlantı durumu

Her etkin IMAP oturumu bir durum tutar: mevcut seçili posta kutusu, son görülen UID, IDLE zamanlayıcısı. Sunucunuz yeniden başlarsa, bu durumun tamamını kaybedersiniz ve en baştan yeniden senkronizasyon yapmanız gerekir - potansiyel olarak zaten işlediğiniz binlerce mesajı almanızı gerektirir. Hesap başına kalıcı bir durum deposuna ihtiyacınız vardır.

Hata tekrarı ve üssel geri çekilme

Geçici hatalar (ağ kesintileri, sunucu 500'leri, hız sınırı yanıtları) üstel geri çekilme ve rastgele gecikme ile deneme mantığı gerektirir. Basit deneme döngüleri sağlayıcıları zorlar ve geçici IP yasaklarına yol açar. Yapılandırılabilir deneme gecikmeleri ve kalıcı olarak başarısız olan hesaplar için ölü harf kullanımı ile doğru bir iş kuyruğuna ihtiyacınız var.

Kimlik Bilgisi Saklama ve Beklemedeyken Şifreleme

OAuth yenileme belirteçleri, tam e-posta erişimi sağlayan uzun ömürlü kimlik bilgileridir. Saklama sırasında bir KMS destekli anahtar kullanılarak şifrelenmeli, altyapı düzeyinde erişim denetlenmeli ve herhangi bir ihlal belirtisi varsa döndürülmelidir. Bu, uygun anahtar yönetimi altyapısı gerektiren önemli bir güvenlik yüzey alanıdır.

Oran sınırlama ve hesap başına kotalar

Gmail, hesap başına eş zamanlı IMAP bağlantılarını 15 ile sınırlar. Uygulamanız izin verilenden fazla bağlantı açarsa, OVERQUOTA hataları alırsınız. Aynı zamanda, sağlayıcılar toplam aktarılan veri için bant genişliği kotaları da uygular. Bağlantı havuzlama, istek sınırlama ve hesap başına hız takibi yapmanız gerekir.

Sağlayıcıya özgü uç durumlar

Gmail etiketleri ile IMAP klasörleri, Outlook'un Gönderilmiş/Silinmiş için standart dışı klasör adlandırması, aslında desteklemedikleri özellikler için CAPABILITY yanıtları döndüren IMAP sunucuları ve büyük ekler üzerinde FETCH işlemleri sırasında bağlantıları sessizce kesen sunucular. Her sağlayıcının yalnızca üretim ortamında ortaya çıkan kendine özgü tuhaflıkları vardır.

Bu, özel bir IMAP entegrasyonu oluşturmaya karşı bir argüman değildir - tek bir sağlayıcı ve tek bir kullanıcı için, ham IMAP oldukça makuldür. Ancak herhangi bir ürün için şunları gerektirir: birden fazla sağlayıcıda ve birden fazla kullanıcı hesabında e-postaları okuyun ve senkronize edin, özel bir IMAP katmanını sürdürmenin operasyonel yükü, özel bir e-posta API'si kullanmanın maliyetini genellikle aşar. Birleşik E-posta API Kılavuzu Mimari ödünleşimleri ayrıntılı olarak ele alır.

IMAP yükü olmadan üretim e-postası senkronizasyonu. Unipile bağlantı havuzlama, token yenileme, hata denemesi ve çoklu sağlayıcı normalizasyonunu yönetir - siz sadece API'yi çağırırsınız.

IMAP yükü olmadan ölçeklenerek oluşturun
Unipile - IMAP BOFU (Hafif)
5 Dakikada Hızlı Başlangıç

Bağlantıyı yönetmeden IMAP entegrasyonu oluşturmak: Unipile

Bu noktaya kadar okuduysanız, üretimde ham IMAP bağlantılarını sürdürmek için gerekenler hakkında net bir fikriniz var: OAuth belirteç yenileme döngüleri, hesap başına durum yönetimi, bağlantı havuzlama, yeniden deneme mantığı ve Gmail, Outlook ve IMAP sunucuları için sağlayıcıya özgü tuhaflıklar. Unipile bu katmanın tamamını soyutlar ve size her üçü arasında e-posta okumak, göndermek ve senkronize etmek için tek bir REST API sunar, 5 dakikalık hızlı başlangıç ve işlem başına 10 satırdan az kod ile.

OAuth sizin için halledildi

Unipile, Gmail ve Microsoft 365 için belirteç alma, yenileme ve döndürme dahil olmak üzere tam OAuth akışını yönetir. Bir yenileme belirtecine asla doğrudan dokunmazsınız.

Gmail, Outlook ve IMAP birleştirildi

Tek API, tek yanıt şeması. Aynı GET /emails çağrısıyla bir Gmail gelen kutusu ve bir IMAP kurumsal sunucusundan e-postaları okuyun. Sağlayıcıya özel ayrıştırma yok.

Gerçek zamanlı webhook'lar, BOŞTA döngü yok

Yeni e-postalar geldiğinde HTTP bildirimleri alın. Yönetilecek kalıcı bir IMAP bağlantısı, halledilmesi gereken 29 dakikalık bir IDLE zaman aşımı veya hesap başına özel bir iş parçacığı yok.

İlk günden itibaren çoklu hesap

Kullanıcı hesaplarını Unipile'ın barındırılan OAuth akışı aracılığıyla bağlayın. Bağlanan her hesabın kendi account_id'si olur. Entegrasyon kodunuzu değiştirmeden 1 ile 10.000 arasında bağlı hesaba ölçeklendirin.

SOC 2 Tip II + CASA Seviye 2

Verileriniz KMS destekli anahtarlarla şifrelenir. Unipile, SOC 2 Tip II sertifikalı ve CASA Seviye 2 değerlendirmesine sahiptir. Veritabanınızda IMAP parolaları veya OAuth jetonları saklanmaz.

unipile_hızlıbaşlangıç.py
İthalat istekleri TEMEL_URL = "https://api7.unipile.com:13047/api/v1" ÜST BILGILER = {"X-API-ANAHTAR": "senin-unipile-api-anahtarın"} # 1. Adım: Bağlı tüm hesapları listele hesaplar = istemler.olsun( f"{BASE_URL}/hesaplar", başlıklar=ÜST BILGILER ).json() account_id = hesaplar"eşyalar"][0]["kimlik"] # 2. Adım: Gelen kutusundaki e-postaları okuyun e-postalar = istemler.olsun( f"{TEMEL_URL}/e-postalar", başlıklar=BAŞLIKLAR, parametreler={"hesap_kimliği": hesap_kimliği, "sınır": 10} ).json() için e-posta içinde e-postalar"eşyalar"]: print(e-posta"konu"], e-posta["katılımcıdan"]) # IMAP bağlantısı yok, jeton yenilenmiyor, #'de SSL bağlamı ve durum makinesi yoktur.
Gmail, Outlook ve IMAP ile çalışır: aynı kod
Şunlarla çalışır: Gmail Görünüm IMAP
SOC 2 Tip II CASA Seviye 2 Durgun durumda şifrelenmiş kimlik bilgileri GDPR uyumlu
SSS

Sıkça Sorulan Sorular

IMAP sunucu bağlantıları, portlar, kimlik doğrulama ve OAuth geçişi hakkında sık sorulan sorular.

1
IMAP sunucu bağlantısı nedir?

Bir IMAP sunucu bağlantısı, e-posta istemcisi ile bir posta sunucusu arasında, sunucuda depolanan e-posta iletilerini yerel olarak indirmeden veya silmeden senkronize etmek, almak ve yönetmek için İnternet İleti Erişim Protokolünü kullanan kalıcı bir TCP oturumudur. POP3'ün aksine IMAP, iletileri sunucuda tutar ve tüm bağlı cihazlarda durumu (okundu, işaretlendi, taşındı) senkronize eder. Geliştiriciler için Gmail, Outlook ve herhangi bir standart e-posta entegrasyonu oluşturmak için temel protokoldür. IMAP API.

2
IMAP için hangi portu kullanmalıyım: 143 mü yoksa 993 mü?

Kullanım port 993 IMAP için SSL/TLS (örtük TLS) üzerinden. Bu modern standarttır ve Gmail ve Outlook dahil tüm büyük bulut sağlayıcıları tarafından gereklidir. Port 143, STARTTLS yükseltmeleri içindir ve yalnızca kendi kendine barındırılan e-posta sunucuları için uygundur. Üretimde asla bir bulut posta sunucusuna 143 numaralı bağlantı noktasından bağlanmayın - çoğu artık bu tür bağlantıları tamamen reddetmektedir. Emin değilseniz, her zaman port 993 varsayılanını kullanın ssl=Doğru.

3
IMAP için SSL/TLS'ye ihtiyacım var mı?

Evet, istisnasız. Kimlik bilgilerini ileten herhangi bir IMAP sunucusu bağlantısı için SSL/TLS zorunludur. Modern posta sunucuları düz metin bağlantılarını tamamen reddeder. RFC 9051 (IMAP4rev2), tüm kimliği doğrulanmış oturumlar için TLS'yi resmi olarak gerektirir. Her zaman kullanın açık 993 örtük TLS ile bulut sağlayıcıları için. 143 numaralı bağlantı noktasındaki kendi barındırdığınız bir sunucuya bağlanıyorsanız, STARTTLS komutunu kullanarak TLS'ye yükseltmeniz ve sunucu sertifikasını doğrulamanız gerekir - asla kullanmayın ssl._create_unverified_context() üretimde.

4
Gmail için IMAP sunucu adresi imap.gmail.com'dur.

Gmail için IMAP sunucu adresi imap.gmail.com on port 993 SSL/TLS ile. Bağlanmadan önce, Gmail Ayarları'nda "Yönlendirme ve POP/IMAP" altında IMAP erişimini etkinleştirmeniz gerekir. Kimlik doğrulama, uygulama tarafından oluşturulan özel bir şifre (2FA etkinse) veya kapsam ile OAuth 2.0 XOAUTH2 gerektirir https://mail.google.com/. Google, yeni uygulamalar için Temel Kimlik Doğrulamasını kısıtladı ve programlı IMAP erişimi için kesinlikle OAuth'u öneriyor.

5
Outlook ve Microsoft 365 için IMAP sunucu adresi şudur: imap-mail.outlook.com

Hem kişisel Outlook.com hesapları hem de Microsoft 365 iş hesapları için IMAP sunucu adresi şudur: outlook.office365.com on port 993 SSL/TLS ile. Microsoft'un IMAP için Temel Kimlik Doğrulama (kullanıcı adı/şifre) desteğini sonlandırdığını unutmayın Aralık 2026. Tüm entegrasyonlar bu tarihten önce OAuth 2.0 XOAUTH2'ye geçmelidir. Bkz. bizim Microsoft Graph OAuth, Outlook Göç adımları için rehber.

6
IMAP'e bağlanmak için bir uygulama şifresine ihtiyacım var mı?

Hesabınızda iki faktörlü kimlik doğrulama etkinse ve IMAP için Temel Kimlik Doğrulama kullanıyorsanız bir uygulama şifresi gerekir. Uygulama şifreleri, tam hesap erişimi vermeden gerçek şifrenizin yerine geçen, sağlayıcınızın güvenlik ayarlarından (Gmail için Google Hesap güvenlik sayfası, iCloud için Apple Kimliği) oluşturulan 16 karakterlik belirteçlerdir. Üretim aşamasındaki çok kullanıcılı uygulamalar için, OAuth 2.0 kesinlikle tercih edilir uygulama parolaları - daha güvenlidir, uygulamanızda herhangi bir kullanıcı kimlik bilgisi depolamanızı gerektirmez ve Aralık 2026'da Microsoft Basic Auth'un kaldırılmasından sonra geçerliliğini koruyacak tek yöntemdir.

7
IMAP Temel Kimlik Doğrulaması 2026'da kullanımdan kaldırılıyor mu?

Evet, Microsoft hizmetleri için. Microsoft, Exchange Online'da IMAP, POP3 ve SMTP genelinde Temel Kimlik Doğrulamanın sona ereceği nihai tarihi doğruladı. Aralık 2026, tüm kiracıları etkileyerek, mevcut muafiyetlere sahip olanları bile kapsar. Outlook veya Microsoft 365 IMAP'e karşı kullanıcı adı/parola kimlik doğrulaması kullanan herhangi bir entegrasyon, bu tarihten sonra çalışmayı durduracaktır. Google, 2022'den bu yana Gmail için Temel Kimlik Doğrulama erişimini zaten kısıtladı ve programlı erişim için uygulama şifreleri veya OAuth gerektiriyor. IMAP entegrasyonunuz Microsoft hesaplarına bağlanıyorsa, şunlara geçiş yapmanız gerekir: OAuth 2.0 XOAUTH2 Aralık 2026'dan önce.

8
IMAP'e OAuth 2.0 ile nasıl bağlanırım?

IMAP sunucusuna OAuth 2.0 ile bağlanmak için XOAUTH2 SASL mekanizmasını kullanırsınız. Standart OAuth yetkilendirme kodu akışı yoluyla bir erişim jetonu elde ettikten sonra, dizeyi kodlayın kullanıcı={email}\x01auth=Bearer {token}\x01\x01 base64 olarak, sonra şunu ver XOAUTH2 DOĞRULA IMAP komutu. Gmail için gerekli kapsam https://mail.google.com/. Microsoft 365 için, bir belirteç almak üzere MSAL'ı kullanın IMAP.ErişimKullanıcıOlarak.Tüm scope. Erişim jetonları 3600 saniye sonra sona erer ve yeniden bağlanmadan önce yenilenmesi gerekir - her yeni IMAP oturumundan önce bir jeton yenileme kontrolü uygulayın. Yukarıdaki XOAUTH2 bölümündeki tam kod örneklerine bakın.

IMAP entegrasyonu hakkında hala sorularınız mı var? Ekibimiz, sağlayıcı tuhaflıklarında, OAuth geçişinde ve çoklu hesap mimarisinde size yardımcı olabilir.

Bir uzmanla konuşun
tr_TRTR