E-postaları API Üzerinden Okuma: Geliştiriciler İçin Bir Kılavuz Gelen Kutusu Erişimi
Kapsam: Bu rehber şunları kapsar API'leri senkronize et Kullanıcıların mevcut gelen kutularını okumak için Gmail API, Microsoft Graph, IMAP ve Unipile gibi birleşik katmanlar. Bu, alan adınızdan dışarıya e-posta gönderen işlemsel hizmetlerden (SendGrid, Mailgun) farklıdır.
Tek bir yazılımla kullanıcı e-postalarını programatik olarak okuyan ürünler oluşturun GET /api/v1/e-postalar Gerçek zamanlı webhook çağrıları, bu rehber Node.js, Python ve cURL'de çalışan kodlarla her yaklaşımı kapsar.
// Tek bir birleşik API çağrısıyla e-postaları okuyun
const response = bekliyor fetch(
'https://api3.unipile.com:PORT/api/v1/emails',
{
headers: {
'X-API-ANAHTARI': process.env.UNIPILE_API_ANAHTARI,
'hesap_kimliği': accountId
}
}
);
const { e-postalar } = bekliyor cevap.json();
// Gmail, Outlook ve IMAP için aynı JSON yapısı
e-postalar.her biri için(e-posta => {
konsol.log(e-posta.konu, e-posta.katılımcıdan);
});Okunabilir E-posta API'si Nedir?
E-posta okuma API'si, bir HTTP arayüzüdür ve uygulamanızın kullanıcıların mevcut posta kutularından şifreleri saklamadan veya sağlayıcıya özel entegrasyonlar oluşturmadan e-postalara erişmesini, bunları almasını ve işlemesini sağlar. CRM senkronizasyonu, yapay zeka e-posta yardımcı pilotları, destek otomasyonu veya uyumluluk arşivlemesi gibi gelen kutusu görünürlüğü gerektiren herhangi bir ürünün temelini oluşturur.
A e-posta oku API'si kullanıcının posta kutusunda kimlik doğrulaması yapmak (OAuth 2.0 veya IMAP kimlik bilgileri aracılığıyla), gelen kutusu mesajlarını listelemek, ekleriyle birlikte tam e-posta gövdelerini almak ve gerçek zamanlı teslimat olaylarına abone olmak için uç noktalar sunar. Mevcut Gmail, Outlook veya IMAP hesabı üzerinde çalışır değil sizin kontrolünüzde bir alan. Bu, onu, uygulamanız adına giden e-posta gönderen işlemsel e-posta API'lerinden (SendGrid, Mailgun, Resend) ayırır.
Kullanıcıların mevcut gelen kutularına bağlanır. E-postaları gerçek zamanlı olarak okur, senkronize eder ve yanıtlar. OAuth 2.0 veya IMAP aracılığıyla kimlik doğrulaması yapar. Kullanıcı kendi posta kutusuna erişim izni verir.
Kontrolünüzdeki bir alan adından giden e-postalar gönderin. Makbuzlar, bildirimler, şifre sıfırlamalar için kullanılır. Gelen kutusu erişimi yok.
E-postaları Programatik Olarak Okumanın Önemi
E-postaları API aracılığıyla okuma yeteneği, yalnızca SMTP ile imkansız olan bir ürün kategorisinin kilidini açar. İşte 2026'da benimsenmeyi sağlayan dört ana kullanım durumu.
CRM ve Satış Etkileşimi Senkronizasyonu
Satış araçlarının, bir temsilci ile potansiyel müşteri arasındaki her e-posta konuşmasını manuel kayıt yapmadan otomatik olarak görmesi gerekir. Okunan e-posta API'si, konuşmaları doğrudan temsilcinin gelen kutusundan çeker ve bunları gerçek zamanlı olarak CRM'inize senkronize eder.
Yapay Zeka Ajanları ve E-posta Yardımcıları
Büyük dil modelleri bağlama ihtiyaç duyar. Yapay zeka temsilcinize gerçek zamanlı bir gelen kutusu e-postası akışı besleyerek, yanıt taslakları oluşturan, konuşmaları özetleyen, yapılacakları çıkaran ve konuşmaları otomatik olarak önceliklendiren yardımcı pilotlar oluşturabilirsiniz.
Müşteri Destek Otomasyonu
Destek ekipleri günde binlerce e-posta alır. Okunmuş bir e-posta API'si, bir insanın bile bir destek kaydını açmasından önce platformunuzun gelen istekleri sınıflandırmasına, doğru sıraya yönlendirmesine ve otomatik yanıtları tetiklemesine olanak tanır.
Uyumluluk, Arşivleme ve eKeşif
Düzenlenmiş sektörlerin her e-postayı saklaması ve indekslemesi gerekir. Okunmuş e-posta API'si, gelen kutularını sürekli arşivlemek, politika ihlallerini işaretlemek ve yasal inceleme için talep üzerine e-posta kayıtları oluşturmak için gereken programatik erişimi sağlar.
E-posta Okumak İçin Yerel API'ler: Gmail, Outlook ve IMAP
Her büyük e-posta sağlayıcısı, farklı uç noktalar, kimlik doğrulama modelleri ve yeteneklere sahip kendi okuma API'sini sunar. İşte uygulamada her biri nasıl görünüyor.
Gmail API
OAuth 2.0Gmail API, Google'ın altyapısı üzerine kurulu bir REST API'dir. Bunu kullanır kullanıcıların mesaj listesi bir posta kutusunda sayfalama ve kullanıcılar.mesajlar.al tam bir ileti almak için. Google Pub/Sub üzerinden anında iletme bildirimlerini destekleyerek, yoklama yapmadan gerçek zamanlı gelen kutusu izlemesini mümkün kılar. Hız sınırı: Saniyede kullanıcı başına 250 kota birimi. Not: Gmail, OAuth 2.0 gerektirir - API anahtarları posta kutusu erişimi için çalışmaz. Bkz. Neden Gmail API anahtarlarını reddeder.
# Gelen kutusundaki mesajları listele (Gmail API)
kıvrıl -X GET \
"https://gmail.googleapis.com/gmail/v1/users/me/messages?labelIds=INBOX&maxResults=20" \
-H "Yetkilendirme: Bearer ACCESS_TOKEN"
# Tek bir e-postayı tam metin olarak getir
kıvrıl -X GET \
"https://gmail.googleapis.com/gmail/v1/users/me/messages/MESAJ_ KIMLIĞI?format=full" \
-H "Yetkilendirme: Bearer ACCESS_TOKEN"Microsoft Graph (Outlook ve Microsoft 365)
OAuth 2.0Microsoft Graph, Outlook kişisel hesapları, Exchange Online ve Microsoft 365 iş posta kutuları dahil tüm Microsoft 365 hizmetleri için birleşik API'dir. /ben/mesajlar uç nokta, tüm gövde içeriğini tek bir istekte döndürür. Sayfalama kullanılır $ atla ve $üst OData parametreleri. Tamamını gör Microsoft Graph e-posta entegrasyon kılavuzu detaylar için.
# Gelen kutusundaki mesajları listele (Microsoft Graph)
kıvrıl -X GET \
""https://graph.microsoft.com/v1.0/me/messages?\$top=20&\$filter=parentFolderId eq 'inbox'"' \
-H "Yetkilendirme: Bearer ACCESS_TOKEN" \
-H "İçerik-Türü: uygulama/json"
# İçeriği olan tek bir mesajı getir
kıvrıl -X GET \
""https://graph.microsoft.com/v1.0/me/messages/MESSAGE_ID?\$select=subject,body,from,receivedDateTime"" \
-H "Yetkilendirme: Bearer ACCESS_TOKEN"$seçin ve Kabul et başlıklar.IMAP
Evrensel ProtokolIMAP (İnternet Mesajı Erişim Protokolü), neredeyse her posta sunucusu tarafından desteklenen evrensel bir e-posta protokolüdür. REST API değildir, ancak 993 (TLS) bağlantı noktası üzerinden durum bilgisi tutan bir TCP bağlantısıdır. Komutları şu şekilde verirsiniz: ÇEK, ARAMAve BOŞTA bağlantı üzerinden. Daha derinlemesine bilgi için lütfen şunlara bakınız: IMAP API entegrasyon kılavuzu.
İthalat imaplib, e-posta
# Bağlan ve kimlik doğrulama yap
posta = imaplib.IMAP4_SSL('imap.example.com')
posta.Giriş('user@example.com', 'uygulama_parolası')
posta.seç('GELEN KUTUSU')
# Gizli mesajları ara
durum, mesaj_kimlikleri = posta.arama(Hiçbiri, 'GÖRÜLMEMİŞ')
için mesaj_kimliği içinde mesaj_kimlikleri[0].bölmek():
_, veri = posta.fetch(mesaj_kimliği, '(RFC822)')
mesaj = e-posta.bayttan_mesaj(veri[0][1])
print(mesaj['konu'], mesaj['dan'])BOŞTA birkaç yüz eşzamanlı hesabin ötesinde kolayca ölçeklenmeyen, bir bağlantıyı açık tutan ve sunucu bildirimlerini bekleyen bir komut.Yahoo Mail, ProtonMail, Zoho ve diğer sağlayıcılar evrensel bir yedek olarak IMAP'ı destekler, bu nedenle yukarıdaki IMAP yaklaşımıyla kapsanırlar. Bazıları (Yahoo gibi) sınırlı tescilli API'ler de sunar, ancak hiçbiri Gmail API'sinin veya Microsoft Graph'ın yetenekleriyle eşleşmez. Çoğu çoklu sağlayıcı ürünü için IMAP, Gmail veya Outlook OAuth tarafından kapsanmayan herhangi bir posta kutusu için evrensel yedektir. birleşik e-posta API'si Bu müzakereyi otomatik olarak yürütür.
E-postaları Büyük Ölçekte Okumanın Gizli Karmaşıklığı
Tek bir sağlayıcıya karşı bir e-posta okuma API entegrasyonu oluşturmak bir demo için öğleden sonra sürer. Tüm sağlayıcılarda güvenilir bir şekilde ve üretim ölçeğinde çalışan bir entegrasyon oluşturmak ise tamamen farklı bir zorluktur. Mühendislikte gerçekte olan şey şudur.
Sağlayıcı Başına OAuth Akışı
Her sağlayıcının kendi OAuth 2.0 uygulaması, onay ekranı gereksinimleri, kapsamları ve belirteç ömrü vardır. Gmail ve Outlook'u desteklemek, iki ayrı OAuth uygulaması, iki geliştirici konsolu, iki belirteç yenileme stratejisi ve iki uyumluluk setini (Google CASA Seviye 2, Microsoft Publisher Verification) sürdürmek anlamına gelir.
Sayfalama Farkları
Her sağlayıcı farklı sayfalama kullanır. Gmail opak sayfa belirteçleri kullanır. Microsoft Graph OData kullanır. $ atla ve sonrakiBağlantı İmleçler. IMAP sayısal UID aralıkları kullanır. Üçü arasında tutarlı bir sayfalama soyutlaması uygulamak, önemsiz olmayan bir adaptör kodu gerektirir.
MIME Ayrıştırma
E-postalar, iç içe geçmiş çok parçalı sınırlar, base64 veya quoted-printable kodlaması, birden çok karakter kümesi ve satır içi ekler içeren ham MIME belgeleri olarak gelir. Gmail, base64url kodlu parçalar döndürür. IMAP, ham RFC 822 döndürür. İkisi de tam MIME ağacını ayrıştırmadan size temiz bir düz metin gövdesi sağlamaz.
Kota Sınırları ve Geri Çekilme
Gmail kullanıcı başına saniyede 250 kota birimi zorlar (listeleme 5 birim, alma 5 birim). Microsoft Graph, kiracı başına uygulama başına 10 dakikada 10.000 istekle sınırlar. Her ikisi de jitter ile üssel geri çekilme gerektiren 429 hataları döndürür. 1.000 bağlı hesapta, hız sınırı yönetimi tam bir mühendislik sorunu haline gelir.
Gerçek Zamanlı: Webhook'lar, Sorgulama (Polling) ve IDLE'a Karşı
Yeni bir e-posta geldiğinde bildirim almak, sağlayıcıya göre tamamen farklı mekanizmalar gerektirir. Gmail, her 7 günde bir yenilenmesi gereken Google Pub/Sub anlık bildirim aboneliklerini kullanır. Microsoft Graph, maksimum kullanım ömrü 4.230 dakika olan değişiklik bildirimi aboneliklerini kullanır. IMAP, hesap başına kalıcı bir TCP bağlantısı açık tutan IDLE komutunu kullanır.
Sağlayıcılar Arasında İplik Tutarsızlıkları
Gmail, iletileri yerel olarak iş parçacıklarına toplar. Microsoft Graph'ın bir conversationId alanı vardır ancak iş parçacıkları Gmail'den farklı davranır. IMAP'te yerel bir iş parçacığı yoktur - Referanslar ve Yanıt-Kime üstbilgilerini manuel olarak eşleştirerek iş parçacıklarını yeniden oluşturursunuz. Sağlayıcılar arası birleşik bir iş parçacığı görünümü oluşturmak önemli normalleştirme mantığı gerektirir.
E-posta Okuma API Mimarisi: 3 Yaklaşım Karşılaştırması
E-posta okumak için tek bir "doğru" mimari yoktur. Doğru yaklaşım, kaç sağlayıcıyı desteklemeniz gerektiğine, mühendislik kaynaklarınıza ve ölçek gereksinimlerinize bağlıdır. İşte dürüst bir karşılaştırma.
| Yaklaşım | Artıları | Tutmak | Ne zaman kullanılacağını |
|---|---|---|---|
| Doğrudan sağlayıcı API'leri Gmail API, Microsoft Graph |
Ücretsiz katman, tam özellik erişimi, aracısız gecikme | Sağlayıcı başına OAuth kurulumu, MIME ayrıştırma, ayrı hız sınırı yönetimi, çapraz sağlayıcı normalizasyonu yok | Yalnızca tek sağlayıcı |
| Kendi kendine barındırılan IMAP imaplib, node-imap |
Evrensel protokol, tüm posta kutularıyla çalışır, OAuth uygulaması gerekmez | Durum bilgisi olan TCP bağlantıları, anlık bildirim yok (sorgulama veya IDLE), bağlantı havuzu yönetimi, ölçekte yavaş | Sadece legacy / şirket içi |
| Birleşik e-posta okuma API'si Unipile |
Tüm sağlayıcılar için tek bir uç nokta, normalleştirilmiş JSON yanıtı, yönetilen OAuth, birleştirilmiş webhook'lar, yerleşik yeniden deneme mantığı | Bağlı hesap başına ek API çağrısı maliyeti, harici bağımlılık | Çoklu sağlayıcı ürünleri |
Ürününüzdeki her kullanıcı Gmail kullanıyorsa, doğrudan Gmail API'sine karşı oluşturun. Tam özellik denkliği, ek bir maliyet olmaması ve etiketler, iş parçacıkları ve Pub/Sub anlık bildirimleri gibi Gmail'e özgü özelliklere erişim elde edersiniz.
Şirket içi posta sunucuları, Graph API erişimi olmayan kurumsal Exchange dağıtımları veya OAuth'un mümkün olmadığı tüm senaryolar. Yeni ürünler için birincil strateji değil, yedek olarak IMAP kullanın.
Kullanıcılarınızın Gmail, Outlook ve IMAP posta kutuları olduğunda ve bunların tümü için tutarlı bir okuma e-postası API'sine ihtiyaç duyduğunuzda, Unipile gibi birleşik bir katman, N-sağlayıcı entegrasyon sorununu tamamen ortadan kaldırır.
Unipile'ın Birleştirilmiş E-posta Okuma API'si ile E-postaları Okuma
Unipile, Gmail API, Microsoft Graph ve IMAP'ı tek bir e-posta okuma API'si arkasında soyutlar. Kullanıcınızın posta kutusunun hangi sağlayıcıda olduğuna bakılmaksızın tek bir OAuth akışı, tek bir uç nokta, tek bir normalleştirilmiş JSON biçimi. İşte ilk gelen kutunuzu 5 dakikadan kısa sürede nasıl okuyabileceğiniz.
Unipile kontrol panelinizden barındırılan bir kimlik doğrulama URL'si oluşturun. Bu bağlantıyı kullanıcınıza gönderin - onlar Unipile'ın barındırılan sayfasında sağlayıcıları (Gmail, Outlook veya IMAP kimlik bilgileri) için OAuth izin akışını tamamlarlar. Sizin tarafınızda hiçbir OAuth uygulama kurulumu, yönlendirme URI yapılandırması gerekmez. Ayrıntıları görmek için Birleşik e-posta API kılavuzu tam kimlik doğrulama akışı için.
# Kullanıcınız için barındırılan bir kimlik doğrulama bağlantısı oluşturun
kıvrıl -X POST \
"https://api3.unipile.com:PORT/api/v1/hosted/accounts/link" \
-H "X-API-ANAHTARI: SENIN_API_ANAHTARIN" \
-H "İçerik-Türü: uygulama/json" \
-d '{"type":"EMAIL","name":"user@example.com","success_redirect_url":"https://yourapp.com/connected"}'
# Yanıtı: { "url": "https://auth.unipile.com/..." }
# Bu URL'yi kullanıcınıza gönderin; kullanıcı, kendi sağlayıcısında OAuth işlemini tamamlarKullanıcı hesabını bağladıktan sonra, e-postalar uç noktasına onların bilgileriyle birlikte çağrı yapın. account_id. Yanıt, altta yatan posta kutusu Gmail, Outlook veya IMAP olsa da aynıdır.
# Gelen kutusundaki e-postaları listele (Gmail, Outlook ve IMAP ile uyumludur)
kıvrıl -X GET \
"https://api3.unipile.com:PORT/api/v1/emails?account_id=ACCOUNT_ID&limit=50" \
-H "X-API-ANAHTARI: SENIN_API_ANAHTARIN"
# Klasöre göre filtrele
kıvrıl "...?account_id=ACCOUNT_ID&folder=INBOX&limit=50" -H "X-API-ANAHTARI: SENIN_API_ANAHTARIN"
# Yalnızca okunmamışları filtrele
kıvrıl "...?account_id=HESAP_ID&unread=true" -H "X-API-ANAHTARI: SENIN_API_ANAHTARIN"ID'ye göre tam bir e-posta alın. Unipile, düz metin gövdesi, HTML gövdesi ve ek meta verileri ile çözülmüş, normalize edilmiş bir nesne döndürür - sizin tarafınızdan herhangi bir MIME ayrıştırma gerektirmez.
# Tek bir e-postayı tam metin ve ekleriyle birlikte getir
kıvrıl -X GET \
"https://api3.unipile.com:PORT/api/v1/emails/EMAIL_ID" \
-H "X-API-ANAHTARI: SENIN_API_ANAHTARIN"
# Yanıt alanları (her zaman normalleştirilmiş):
# { "id", "konu", "tarih", "gönderen_katılımcı", "alıcı_katılımcılar",
# "gövde", "gövde_düz", "ekler": [{ "id", "dosya_adı", "boyut" }] }Unipile kontrol panelinizde bir webhook uç noktası kaydedin. Unipile, Gmail Pub/Sub, Microsoft Graph değişiklik bildirimleri ve IMAP IDLE'ı tek bir email.received etkinlik. Abonelik yenileme yok, yönetilecek HAZIRDA bekleyen bağlantı havuzu yok.
// Unipile, yeni bir e-posta geldiğinde uç noktanızı çağırır
// Gmail, Outlook ve IMAP kullanıcıları için aynı olay
uygulama.POST('/webhooks/email', (req, res) => {
const { olay, hesap_kimliği, eposta_kimliği } = req.body;
eğer (olay === 'e-posta.alındı') {
// Tüm e-posta ayrıntılarını getir
YeniE-postaİşle(hesap_id, eposta_id);
}
res.DurumGönder(200);
});Tam E-posta API Kılavuzu, kimlik doğrulama, tüm uç noktalar, sayfalama, ek indirme, güvenlik ve uyumluluk konularını ayrıntılı olarak ele almaktadır.
E-posta Okuma: Dilde Kod Örnekleri
Unipile'ın birleşik e-posta okuma API'si ile e-posta okumak için üretime hazır örnek kodlar. Tüm örnekler, aynı kodla Gmail, Outlook ve IMAP hesaplarından okuma yapar.
İthalat fetch itibaren 'node-fetch';
const TABAN = 'https://api3.unipile.com:PORT/api/v1';
const API_ANAHTARI = process.env.UNIPILE_API_KEY!;
arayüz E-posta {
kimlik: dizi;
Konu: dizi;
tarih: dizi;
katılımcıdan: { görünen_ad: dizi; tanımlayıcı: dizi };
body: dizi;
gövde_düz dizi;
ekler: { id: dizi; dosya adı: dizi; boyut Sayı }[];
}
// Gelen kutusu e-postalarını listele - Gmail, Outlook ve IMAP için çalışır
async function E-postaları listele(hesapId: dizi, sınır = 50) {
const Res = bekliyor fetch(
`${BASE}/emails?account_id=${accountId}&limit;=${limit}&folder;=INBOX`,
{ başlıklar: { 'X-API-ANAHTARI'API_ANAHTARI } }
);
const veri = bekliyor res.json();
return data.öğeler olarak E-posta[];
}
// Tam gövde + eklerle tek bir e-posta alın
async function E-postayıAlemail kimliği: dizi) {
const Res = bekliyor fetch(`${BASE}/emails/${emailId}`,
{ başlıklar: { 'X-API-ANAHTARI'API_ANAHTARI } }
);
return bekliyor res.json() arası E-posta;
}
// Kullanım
const e-postalar = bekliyor E-postaları listele('acc_01abc...');
e-postalar.her biri için(e => konsol.log(e.konu, e.katilan.kimlik));İthalat işletim sistemi
İthalat istekleri
TABAN = "https://api3.unipile.com:PORT/api/v1"
ÜST BILGILER = {"X-API-ANAHTAR"os.environ["UNIPILE_API_ANAHTARI"]}
fonksiyon e-postaları_listele(hesap_kimliği: str, sınır: int = 50) -> liste:
"Kutudaki e-postaları listele - Gmail, Outlook ve IMAP için çalışır."
cevap = istemler.olsun(
{TEMEL}/e-postalar",
headers=HEADERS,
parametresi={
"hesap_kimliği": hesap_kimliği,
"sınır"sınır,
"klasör": "GELEN KUTUSU",
},
)
yanıt olarak.raisen_for_status()
return yanıt olarak.json()["eşyalar"]
fonksiyon e-postayı_al(email_id: str) -> dict:
"Bir e-postayı gövdesi ve ekleriyle birlikte çekin."
cevap = istemler.olsun({TEMEL}/e-postalar/{e-posta_kimliği}", üstbilgiler=ÜSTBILGILER)
yanıt olarak.raisen_for_status()
return yanıt olarak.json()
# Kullanım
e-postalar = e-postaları_listele("acc_01abc...")
için e-posta içinde e-postalar
print(e-posta"konu"], e-posta["katılımcıdan"]["tanımlayıcı"])
# İlk e-posta için tam metni getir
tam = e-postayı_al(e-postalar[0]["kimlik"])
printTam"gövde_düz"])paket ana
İthalat (
"kodlama/json"
"format"
"net/http"
"os"
)
tip E-posta yapı {
KIMLIK dizi `json:"id"`
Konu dizi `json:"konu"`
VücutDüz dizi `json:"gövde_düz"`
}
tip ListeCevabı yapı {
Nesneler []E-posta `json:"öğeler"`
}
fonksiyon E-postaları listele(accountID string) ([]E-posta, hata) {
url := "https://api3.unipile.com:PORT/api/v1/emails?account_id=" + hesapID
istek, _ := http.YeniTalep("AL", url, nil)
req.Header.Küme("X-API-ANAHTAR", işletim sistemi.Ortam değişkenini al("UNIPILE_API_ANAHTARI"))
cevap, hata := http.DefaultClient.Yapmak(talep)
eğer hata != nil { return nil, hata }
ertelemek resp.Body.Kapat()
var sonuç ListeCevabı
json.Yeni kodlayıcı(resp.Gövde).Çöz(&result)
return sonuç.Öğeler, nil
}
fonksiyon ana() {
e-postalar, := E-postaları listele("acc_01abc...")
için _, e := menzil e-postalar {
fmt.Yazdır(e.Konu)
}
}Gerçek Zamanlı E-posta Okuma: Webhook'lar ve Sorgulama
Yeni bir e-postanın ne zaman geldiğini bilmek, onu okuyabilmek kadar önemlidir. Ölçekte çok farklı operasyonel özelliklere sahip üç mekanizma mevcuttur.
Oylama
Uygulamanız zaman zaman (her 30 saniyede bir, her 5 dakikada bir) e-postaları listeleyen uç noktayı çağırır. Uygulaması basittir ancak kotayı tüketir, gecikme ekler ve birkaç hesaptan fazlası için ölçeklenmez.
Yerel Sağlayıcı Webhook'ları
Gmail Pub/Sub ve Microsoft Graph değişiklik bildirimleri, olayları anında sunucunuza gönderir. Hızlı ve kota açısından verimli olmalarına rağmen, her biri ayrı kurulum, ayrı yenileme mantığı ve farklı olay şemaları gerektirir.
Unipile Birleşik Webhooklar
Unipile, tüm sağlayıcı anlık iletim mekanizmalarını tek bir arayüzde soyutlar email.received etkinlik. Bir uç nokta, Gmail, Outlook ve IMAP hesaplarından gelen bildirimleri alır; otomatik abonelik yenileme ise dahili olarak halledilir.
Unipile arka planda, Gmail Pub/Sub aboneliklerini, Microsoft Graph değişiklik bildirimi aboneliklerini ve IMAP IDLE bağlantılarını - bağlı hesap başına, otomatik olarak yenilenen bir şekilde yönetir. Uygulamanız bir webhook URL'si kaydeder ve temel sağlayıcıdan bağımsız olarak tek bir normalleştirilmiş olay alır.
Kullanıcı E-postalarını Okurken Güvenlik ve Uyumluluk
Kullanıcı e-postalarına erişim, önemli güvenlik ve yasal sorumluluklar taşır. E-posta okuma API entegrasyonunu üretime almadan önce ele almanız gereken dört alan şunlardır:.
OAuth Kapsam En Azlatılması
Her zaman gerekli minimum OAuth kapsamını isteyin. E-postaları okumak için, salt okunur kapsamlar Uygulamanız yalnızca gelen kutusu erişimine ihtiyaç duyuyorsa asla gönder veya oluştur izinleri istemeyin. Gmail salt okunur kapsamı gmail.yalnızcaoku. Microsoft Graph'ın eşdeğeri Mail.Read. Geniş kapsamlar istemek, Google ve Microsoft'un daha katı inceleme süreçlerini tetikler ve izin ekranında kullanıcı güvenini azaltır.
Token Saklama En İyi Uygulamalar
OAuth erişim belirteçleri ve yenileme belirteçleri kimlik bilgileridir. Bunları saklayın beklemede şifrelenmiş AES-256 veya eşdeğerini kullanarak, veritabanınızda asla düz metin kullanmayın. Şifreleme anahtarlarını programlı olarak değiştirin. Token'ları asla uygulama günlüklerine kaydetmeyin. Bir kullanıcı hesabını kapattığında token'ları iptal edin - veritabanı kaydını basitçe silmek yerine sağlayıcının iptal uç noktasını çağırın.
GDPR ve Veri Yerleşimi
E-posta gövdeleri genellikle GDPR kapsamına giren kişisel veriler içerir. Gizlilik politikanızda hangi e-posta verilerini topladığınızı, sakladığınızı, işlediğinizi ve ne kadar süreyle sakladığınızı tam olarak belgelendirmelisiniz. Bir kullanıcının silme talebinde bulunması üzerine e-posta içeriğini kaldıran bir veri silme akışı uygulayın. E-posta içeriğini kendi altyapınızda saklıyorsanız, AB müşterileri için veri ikamet gereksinimlerini göz önünde bulundurun.
Google CASA ve Microsoft Publisher Doğrulaması
Hassas Gmail kapsamlarını isteyen uygulamalar ( gmail.yalnızcaokuGoogle'ı tamamlamanız gerekir CASA Seviye 2 Microsoft, belirli Graph kapsamlarını isteyen uygulamalar için Yayıncı Doğrulaması gerektirir. Her iki süreç de haftalar sürer - bu nedenle lansman tarihinizi dikkate alarak planlama yapın. Unipile kullanmak, bu sertifikaları platform katmanından miras alır.
Unipile, platform düzeyinde Gmail CASA Seviye 2 sertifikasını, Microsoft Publisher Doğrulamasını, SOC 2 Tip II denetimini ve GDPR veri işleme sözleşmelerini yönetir. Unipile üzerine inşa edilen ürünler, bunları bağımsız olarak tamamlamak yerine bu sertifikaları miras alır.
E-posta Okuma API Fiyatlandırması: Ücretsiz Katmanlar ve Maliyet Modelleri
Yerel sağlayıcı API'lerinin ücretsiz katmanları düşük ölçekte cömerttir, ancak birden fazla sağlayıcıyı desteklemeniz, büyük hacimlerde jeton yenilemesini yönetmeniz veya hız sınırı tavanlarına ulaşmanız gerektiğinde gizli maliyetler ortaya çıkar. İşte dürüst bir dökümü.
| Sağlayıcı | Ücretsiz katman | Maliyet modeli | İstek sınırı | Gizli maliyetler |
|---|---|---|---|---|
| Gmail API | Kontenjanla birlikte ücretsiz | İstek başına kota birimleri. Hesap başına faturalandırma yok | 250 birim/sn/kullanıcı, 1 Milyar birim/gün | CASA Seviye 2 incelemesi, MIME ayrıştırma, Pub/Sub yenileme mantığı |
| Microsoft Graph | Kısıtlamalı ücretsiz | Microsoft 365 kiracısı ile birlikte gelir. Çağrı başına ücret yoktur | 10.000 istek/10 dakika/uygulama/kiracı | Yayıncı Doğrulama süreci, abonelik yenileme, kiracı başına OAuth uygulamaları |
| IMAP (kendi barındırdığınız) | Ücretsiz Protokol | API maliyeti yok. Bağlantı havuzları için altyapı maliyeti | Sağlayıcıya özel, hesap başına yaklaşık 10-20 bağlantı | Sunucu altyapısı, IDLE bağlantı yönetimi, itme desteği yok |
| Unipile | 7 günlük ücretsiz deneme | Aylık bağlantılı hesap başına. Gör ücretsiz e-posta API katmanı | Dahili olarak yönetilen, yerleşik yeniden deneme mantığı | Her hesap başına API çağrı maliyeti - ortadan kaldırılan OAuth/MIME mühendisliği ile dengelenmiş |
Ücretsiz okuma e-posta API'si ile mi başlıyorsunuz? Gmail API ve Microsoft Graph, her ikisi de kota sınırları dahilinde ücretsiz erişim sunar. Unipile, Gmail, Outlook ve IMAP ile bağlı hesapları kapsayan, kredi kartı gerektirmeyen 7 günlük bir deneme sürümü sunar.
Ücretsiz denemeyi başlatOkunmuş E-posta Entegrasyonu Oluştururken Sık Yapılan Hatalar
İlk okunan e-posta API entegrasyonunu yayınlayan ekiplerin üretimde sürekli aksamalara yol açan hataları bunlardır. Bunlara çarpmadan önce öğrenin.
Gmail'in hesap başına saniyede 250 kota birimi, 500 hesabınız olduğunda ve ilk gelen kutusu senkronizasyonunu yapmanız gerektiğinde cömert gelse de, aslında durum böyle değildir. 500 mesaj listelemek 2.500 birim, her bir tam mesajı almak ise 2.500 birim daha gerektirir. Büyük posta kutuları için ilk senkronizasyonlar saatler içinde günlük kotayı tüketebilir.
OAuth yenileme belirteçleri sessizce süresi dolar - Google bunları 6 aylık hareketsizlikten, şifre değişikliğinden sonra veya kullanıcı Google Hesabı ayarlarından erişimi iptal ettiğinde geçersiz kılar. Belirteç yenileme mantığınız bir 401 hatası algılamaz ve bunu kullanıcıya sunmazsa, uygulamanız görünür bir hata olmadan e-postaları okumayı durduracaktır.
son_senkronizasyon_zamanı zaman damgası ve beklediğiniz senkronizasyon aralığını aştığında uyarı ver.Gmail etiketleri ve IMAP klasörleri eşdeğer kavramlar değildir. Gmail'in KUTU İÇİ Bu etiket, arşivlenmiş (Gelen Kutusu'ndan kaldırılmış ancak silinmemiş) mesajları içermez. Microsoft Graph'ın Gelen Kutusu klasörü, her ikisini de sorgulamadığınız sürece, odaklanmış gelen kutusu ile diğer bölme düzenlerini hariç tutar. Teams kullanıcıları, klasör varsayımlarındaki uyuşmazlıklar nedeniyle genellikle 20-40% mesajının eksik olduğunu fark ederler.
HEPSİ Sizin tarafınızdan gelen mesajları (sadece GELEN KUTUSU değil) ve tarihe göre filtreleme.E-posta gövdeleri çok çeşitli karakter kodlamalarında gelir: UTF-8, ISO-8859-1, Windows-1252, Shift-JIS. Gmail base64url kodlu parçalar döndürür. IMAP quoted-printable kodlu parçalar döndürür. Bir kodlamayı başka bir kodlama olarak çözmek, yerel test ortamınızda (muhtemelen yalnızca ASCII e-postaları gönderen) görünmez bozuk gövde metnine neden olur.
İçerik-Aktarım-Kodlaması ve UTF-8 olarak yeniden kodlayın. Özellikle Japonca, Arapça ve emoji yoğunluklu e-posta içerikleriyle test edin.Gmail, Outlook ve IMAP hesaplarında birleşik bir ileti görünümü oluşturmak, tamamen farklı üç iş parçacığı modelini normalleştirmeyi gerektirir. Gmail'in yerel ileti kimlikleri vardır. Outlook'un farklı çalışan konuşma kimlikleri vardır. IMAP'in yerel bir iş parçacığı yoktur - ileti dizilerini yeniden oluşturursunuz Mesaj Kimliği, Referanslarve Yanıt-Kime her zaman mevcut veya doğru olmayan üstbilgiler.
E-posta Oku API - Sıkça Sorulan Sorular
İlk okuma e-postası API entegrasyonunu oluşturan geliştiricilerin en sık sorduğu sorular.
gmail.yalnızcaoku kapsam, OAuth onayı aracılığıyla bir erişim belirteci al, sonra çağır GET /gmail/v1/kullanıcılar/ben/mesajlar mesajları listelemek ve GET /users/me/messages/{id}?format=tam tek tek e-postaları almak için. Mesajlar, çözmeniz gereken base64url kodlu MIME parçaları olarak döndürülür.GET /api/v1/e-postalar) aynı Gmail, Outlook ve IMAP hesapları için normalize edilmiş JSON döndüren. Barındırılan bir OAuth bağlantısı aracılığıyla kullanıcıları bir kez kimliklersiniz ve Unipile, tek, tutarlı bir arayüzün arkasında sağlayıcıya özel OAuth akışlarını, MIME ayrıştırmayı ve gerçek zamanlı webhook soyutlamasını yönetir. Bizimkini görün E-posta API Kılavuzu tam inceleme için./messages/{id}/attachments. IMAP, ek dosya bölümlerini belirlemek için MIME ağacını ayrıştırmayı gerektirir. Unipile ile ek dosya meta bilgileri (dosya adı, boyut, MIME türü) e-posta yanıtına dahil edilir ve ek dosya içeriği özel bir uç nokta aracılığıyla kullanılabilir - MIME ayrıştırma gerekmez.email.received Gmail, Outlook ve IMAP hesapları için webhook olayı, otomatik abonelik yönetimi dahili olarak halledilir.Yeniden Dene Sonra Üretim güvenilirliği için titreşimli üssel geri çekilme uygulayın. IMAP limitleri sağlayıcıya özgüdür, genellikle hesap başına 10-20 eşzamanlı bağlantı.