Geliştiriciler İçin E-posta API'si:
Gmail, Outlook ve IMAP ile oluşturun
E-posta entegrasyonları geliştiren geliştiriciler için pratik bir başvuru kaynağı: Gmail API, Microsoft Graph ve IMAP'i karşılaştırın, ardından geliştiriciler için birleşik bir e-posta API'sinin haftalarca süren tekrar eden kodları tek bir REST çağrısına nasıl indirdiğini görün.
E-posta API'si, geliştiricilerin e-posta gönderip almayı sağlayan, e-posta altyapısını kendi uygulamalarına veya web sitelerine entegre etmelerine olanak tanıyan bir arayüzdür.
Sağlayıcıları karşılaştırmadan ve kod yazmadan önce, arama motorlarının ve ekip arkadaşlarınızın ihtiyaç duyduğu kesin tanım budur.
Bir Geliştiriciler için e-posta API'si Uygulamanızın bir kullanıcı olarak kimliğini doğrulamasını, ardından şifrelerini hiç kullanmadan doğrudan Gmail, Outlook veya herhangi bir IMAP posta kutusundaki e-postalarını okumasını, göndermesini veya yönetmesini sağlayan programatik bir arayüzdür. API, OAuth 2.0 (veya IMAP kimlik bilgileri) aracılığıyla kimlik doğrulaması yapar, yapılandırılmış JSON yanıtları döndürür ve yeni posta geldiğinde web kancaları tetikler. Pazarlama veya bildirim e-postası gönderen işlemsel e-posta API'lerinden (SendGrid, Mailgun) kategorik olarak farklıdır. markanız adına - geliştiriciler için e-posta API'si olarak işlev görür kullanıcınız adına, mevcut posta kutularının içine.
Uygulamada: bir SaaS yardım masası, müşteri'nin Gmail gelen kutusundan doğrudan destek talepleri çekmek için bir e-posta API'si kullanır. Bir CRM, satış temsilcisinin bir potansiyel müşteriyle yaptığı her e-posta yazışmasını senkronize etmek için kullanır. Bir yapay zeka aracı, kullanıcının Outlook hesabında okumak, sınıflandırmak ve yanıt taslakları oluşturmak için kullanır. Bunlar, toplu gönderme işlem hatları değil, senkronizasyon tarafında, OAuth kullanıcı tarafı entegrasyonlarıdır.
Geliştiricilerin e-posta API entegrasyonuna neden ihtiyacı var
Bir geliştirici için e-posta API'sinin doğrudan iş değeri sağladığı dört ürün kategorisi şunlardır: toplu e-posta göndermek değil, gerçek kullanıcı e-postalarını okumak ve bunlara yanıt vermek.
CRM'ler, yardım masaları ve proje yönetim araçları gerekir bir kullanıcının posta kutusuna canlı erişim. Uygulamanız OAuth aracılığıyla bir kez kimlik doğrulaması yapar, ardından e-postaları doğrudan kullanıcı arayüzünüzde okur, işler ve görüntüler - kopyala-yapıştır veya yönlendirme kuralları gerekmez. E-posta API entegrasyonu arka planda çalışır ve verilerinizi güncel tutar.
LLM destekli ajanlar şunları yapmalı gerçek e-postaları oku ve sınıflandır E-posta API'si, geliştiricilerin özel bir e-posta istemcisi oluşturmadan, konu, gövde, ekler ve üstbilgiler gibi gelen kutusuna yapılandırılmış JSON erişimi sağlayarak yanıt taslağı oluşturmalarını, varlıkları çıkarmalarını, iş akışlarını tetiklemelerini veya biletleri yönlendirmelerini sağlar.
Destek e-postalarını doğrudan çekin müşteri posta kutuları veya paylaşılan gelen kutuları, E-postaları konu bazında etiketleyebilir, temsilcilere atayabilir ve programlı olarak yanıtlayabilirsiniz. E-posta API entegrasyonu, kırılgan SMTP yoklamayı sağlam bir REST arayüzü ve gerçek zamanlı webhook'lar ile değiştirir.
Bir satış temsilcisinin gönderdiği veya aldığı her e-postayı doğru kişi veya anlaşma ile ilişkilendirerek kaydedin. Konu düzeyinde açılma/yanıtlanma durumunu izleyin. CRM'inizi senkronize tutun gerçek konuşma geçmişi Her temsilcinin kimliğini temsil eden OAuth tabanlı, saf e-posta API entegrasyonu, sihirli bir adrese BCC atılmasını istemeden.
Bu işlemsel e-posta için DEĞİLDİR. Kullanım senaryonuz kendi alan adınızdan şifre sıfırlama, sipariş onayları veya bülten göndermekse, bu işlemsel pazardır (SendGrid, Mailgun, Resend). Geliştiricilere yönelik Unipile'nin e-posta API'si, kullanıcı adına senkronizasyon/okuma/yazma pazarına hitap eder: farklı altyapı, farklı uyumluluk gereksinimleri, farklı fiyatlandırma modeli.
Gmail API, Microsoft Graph ve IMAP karşılaştırması
Her e-posta API entegrasyonu, üç yerel sağlayıcıdan biriyle başlar. İşte her birinin sunduğu ve geliştiriciler için sürtünme yarattığı noktalar.
| Özellik | Gmail API | Microsoft Graph | IMAP | Birleşik (tek bir yerde) |
|---|---|---|---|---|
| Kimlik doğrulama yöntemi | OAuth 2.0 | OAuth 2.0 | Şifre / XOAUTH2 | OAuth 2.0 (tümü) |
| Gerçek zamanlı web kancaları | Pub/Sub (GCP gereklidir) | Grafik abonelikleri | Hayır (boşta yoklama) | Birleşik webhook |
| Yanıt biçimi | Gmail JSON (standart dışı) | Graph JSON (OData) | RFC 2822 ham MIME | Birleştirilmiş JSON şeması |
| Belirteç yenileme | Kılavuz (google-auth-library) | Kılavuz (MSAL) | N/A | Unipile tarafından yönetiliyor |
| Oran sınırları | 250 KULLANICI/sn | 10 bin istek/10 dakika | Sunucuya göre değişir | Soyutlandı + yeniden dene |
| E-posta gönder | Evet | Evet | Yalnızca SMTP | Evet (tüm sağlayıcılar) |
| Ekler | Ek çağrı gerektirir | Max 4MB satır içi | Tam MIME | Birleşik ek API |
| Kurulum süresi (tahmini) | 1-2 hafta | 1-2 hafta | 3-5 gün | Saatler |
Yerel E-posta API'si ile Birleşik E-posta API'si: Gerçek Kod Karşılaştırması
Her iki yaklaşımı yan yana - gerçek kodda - görmek, takası somut hale getiriyor. E-postaları yerel olarak okumayı veya Unipile birleşik e-posta API'si aracılığıyla okumayı karşılaştırmak için aşağıdaki dillerden birini seçin.
// 1. OAuth istemcisini kurun ve yapılandırın
const {google} = require('googleapis');
const kimlik doğrulama = yeni google.yetki.OAuth2(
CLIENT_ID, CLIENT_SECRET, YÖNLENDİRME_URI
);
// 2. Auth kodunu tokenlarla takas et
const {tokenlar} = bekliyor Yetkilendirme.token al(kod);
Yetkilendirme.kimlik bilgilerini ayarla(belirteçler);
// 3. Depolama ve yenileme belirteçlerini manuel olarak
// 4. Gmail API'yi Çağır
const gmail = google.gmail({
versiyon: 'v1', yetkilendirme
});
const Res = bekliyor
gmail.users.messages.list({
userId: 'ben', maxSonuçlar: 10
});
// 5. ID başına tam mesajı al
const mesaj = bekliyor
gmail.users.messages.olsun({
userId: 'ben',
id: res.data.messages[0].kimlik,
biçim: 'dolu'
});
// 6. Base64url kodlu yükü kendiniz ayrıştırın1. Tek SDK, tüm sağlayıcılar
const unipile =
require('@unipile/node-sdk');
const müşteri =
yeni unipile.UnipileClient(
API_URL, ACCESS_TOKEN
);
// 2. Unipile Tarafından Yönetilen Tokenlar
// Manuel OAuth akışına gerek yok
// 3. E-postaları listele
const e-postalar = bekliyor
client.email.TümünüListele({
hesap_kimliği: HESAP_KİMLİĞİ,
Limit: 10
});
// 4. Gövde zaten çözüldü
// Birleşik JSON - aynı şema
// Gmail, Outlook, IMAP için
konsol.log(e-postalar.öğeler);İthalat msal, istekler
# 1. MSAL gizli müşterisi
uygulama = MSAL.Gizli İstemci Uygulaması(
MÜŞTERİ_KİMLİĞİ,
yetki=YETKİ,
uye_kimlik_bilgileri=CLIENT_SECRET
)
# 2. Kullanıcı adına kimlik bilgisini al
sonuç = uygulama.auth_kodu_akışı_ile_token_edin(
akış, kimlik doğrulama_yanıtı
)
belirteç = sonuç['erişim_belirteci']
# 3. Jetonun yenilenmesini yönetin, güvenli bir şekilde saklayın
# 4. Çağrı Grafiği API'si
başlıklar = {'Authorization': f'Bearer {simge}'}
r = istemler.olsun(
'https://graph.microsoft.com/v1.0/me/messages',
başlıklar=başlıklar
)
# 5. OData zarf yanıtını ayrıştırİthalat istekleri
Unipile tarafından yönetilen # Token
# MSAL yok, OAuth kurulumu yok
başlıklar = {
'X-API-ANAHTARI': ACCESS_TOKEN,
'Kabul Et': 'application/json'
}
#, Gmail ve Outlook ile uyumludur
# Aynı uç nokta, aynı şema
r = istemler.olsun(
'https://api7.unipile.com:13091'
'/api/v1/e-postalar',
başlıklar=başlıklar,
parametreler={
'hesap_kimliği': HESAP_KIMLIĞI,
'limit': 10
}
)
e-postalar = r.json()
# Zaten ayrıştırıldı, OData yok# IMAP'te REST API bulunmamaktadır
# imaplib veya node-imap kullanılması zorunludur
# cURL'e karşılık gelen bir şey yok
# Örneği: openssl s_client
# (sadece hata ayıklama amaçlıdır – üretim ortamında kullanılmaz)
openssl s_client \
-imap.gmail.com: 143'e bağlan993 \
sessizce
# Ardından ham IMAP komutlarını gönderin:
# A001 GİRİŞ user@gmail.com şifre
# A002 Gelen Kutusu Seç
# A003 FETCH 1 RFC822
# A004 ÇIKIŞ
# Ham RFC 2822 MIME alıyorsunuz
# Başlıkları ayrıştırmalı, kodunu çözmeli
# base64 parçaları, çok parçalı yapıları işleme
# sınırlarını kendin belirle
# Ayrıca: webhook yok, IDLE sorgulaması zorunlu# REST API - her türlü
cURL aracılığıyla # e-posta sağlayıcısı
kıvrıl \
-X GET \
-H ""X-API-KEY: $TOKEN"" \
-H "Kabul Et: uygulama/json" \
"https://api7.unipile.com:13091
/api/v1/emails
?account_id=$ACCOUNT_ID
&limit=10"
# Yanıtı: temiz JSON
# { "öğeler": [ { "id": "...",
# "konu": "Merhaba",
# "from": { "name": "Alice",
# "adres": "..." },
# "body_plain": "...",
# "tarih": "2026-05-12T..." } ] }
# Gmail için aynı uç nokta,
# Outlook ve IMAP hesaplarıE-posta API entegrasyonu için OAuth 2.0 temelleri
Her üretim e-posta API entegrasyonu, kullanıcının parolasını saklamadan kimliğini doğrulamak için OAuth 2.0'ye dayanır. Her sağlayıcı için ayarlamanız gerekenler ve Unipile'ın bunu sizin için nasıl hallettiği aşağıdadır.
gmail.yalnızcaoku, gmail.gönder. Hassas kapsamlar üretim için Google doğrulaması gerektirir.google-kimlik doğrulama-kütüphanesi veya özel bir işleyici.Mail.Read, Mail.Gönder, Mail.ReadWrite.E-posta API entegrasyonu için SDK'lar ve araçlar
İster yerel olarak oluşturuyor olun ister birleşik bir katman kullanıyor olun, doğru SDK tekrar eden kodları azaltır. İşte her bir sağlayıcı ve Unipile için mevcut durum.
Unipile birleşik e-posta API'si için Resmi SDK. Gmail, Outlook ve IMAP için e-posta okuma, gönderme, hesap yönetimi ve web kancalarını kapsar - tek bir pakette. TypeScript tanımları dahildir.
@azure/msal-node ayrı). Bakımlı. OData yanıt biçimi, basit kullanım durumları için ek ayrıştırma gerektirir.Geliştirici dostu fiyatlandırma: ücretsiz başlayın, şeffaf bir şekilde ölçeklendirin
"Ücretsiz" yerel e-posta API'leri aslında ücretsiz değildir. Gmail API ve Microsoft Graph, API çağrısı başına sıfır dolara mal olur, ancak her biri mühendislikte haftalar gerektirir: OAuth doğrulama döngüleri, jeton yenileme mantığı, webhook altyapısı, deneme işleyicileri, hata eşleme. Orta büyüklükteki bir ekip, tek bir özelliği yayınlamadan önce tipik olarak 3 ila 6 hafta harcar. Geliştiriciler için Unipile'ın birleşik e-posta API'si, bu işi kredi kartı gerektirmeyen 7 günlük ücretsiz deneme sürümüyle değiştirir.
Sonuç olarak: API çağrıları ücretsizdir, mühendislik değil. Yerel API'lerin (kimlik doğrulama akışları, jeton yenileme, hata işleme, webhook altyapısı, çoklu sağlayıcı soyutlaması) üzerine üretim düzeyinde e-posta entegrasyonu oluşturmak, yaygın olarak sağlayıcı başına 3 ila 8 haftalık üst düzey geliştirici süresi, artı Google veya Microsoft kırıcı bir değişiklik yayınladığında bakım gideri anlamına gelir. Unipile, şeffaf katmanlarla hesap başına aylık fiyatlandırma yapar. Bkz. Ücretsiz E-posta API Rehberi tam döküm için.
E-posta API entegrasyonları için güvenlik ve uyumluluk
Uygulamanız kullanıcı e-postalarını işlerken uyumluluk isteğe bağlı değildir. Unipile, Avrupa ve kurumsal verileri işleyen geliştirici odaklı ürünler için önemli olan iki çerçeve üzerine kurulmuştur.
Unipile SOC 2 Tip II sertifikalı. Denetim, Güvenlik, Erişilebilirlik ve Gizlilik güven hizmeti kriterlerini kapsamaktadır. Bu, bağımsız denetçilerin Unipile'ın kontrollerini tek bir zaman noktasında değil, sürdürülebilir bir süre boyunca doğruladığı anlamına gelir. Çoğu kurumsal alıcı ve SaaS güvenlik anketleri için gereklidir.
Unipile, e-posta verilerini bir veri işleyici GDPR Madde 28 uyarınca, tüm ücretli planlar için Veri İşleme Anlaşmaları (DPA) mevcuttur. Kullanıcı e-posta verileri yalnızca kimliği doğrulanmış oturum süresince ve kullanıcının OAuth izniyle verilen kapsam dahilinde işlenir. Paralel depolama yok, üçüncü taraflara veri satışı yok.
E-posta API entegrasyonunda sık yapılan hatalar (ve bunları düzeltme yolları)
Her geliştiricinin ilk e-posta API entegrasyonunu oluştururken karşılaştığı dört duvar vardır. İşte bunlar ve her biriyle doğru şekilde nasıl başa çıkılacağı.
Gmail'in kullanıcı başına saniyede 250 kota birimi, mesajları listelemenin her biri için 5-10 birim tuttuğunu ve tam gövdeleri almak için bayt başına kota eklediğini fark edene kadar cömert görünüyor. Microsoft Graph, kiracı başına uygulama başına 10 dakikada 10.000 istek ile sınırlıdır. Sınıra ulaşmak 429 - Çok Fazla İstek hatası döndürür. Yeniden deneme mantığı olmadan senkronizasyon döngünüz sessizce çöker.
Google erişim jetonları 3.600 saniye sonra sona erer. Microsoft jetonları ise 60-90 dakika sonra geçerliliğini yitirir. Yenileme jetonunuz iptal edilirse (Google'da parolanızı değiştirdiğinizde, uygulama erişimini iptal ettiğinizde veya belirteç 6 aydır kullanılmadığında), tüm senkronizasyonunuz sessizce durur. Yenileme çağrısının yanıtını izlemediğiniz sürece herhangi bir hata ortaya çıkmaz.
Microsoft Graph abonelikleri maksimum 4230 dakika (~posta için ~3 gün) sonra sona erer. Onları yenilemeyi unutmak, daha fazla anlık bildirim almamak anlamına gelir - uygulamanız yoklamaya geri döner veya olayları tamamen kaçırır. Gmail Pub/Sub abonelikleri daha kalıcıdır ancak geçerli kalmaları için bir GCP aboneliği ve var olan bir konu gerektirir.
E-posta API'leri eninde sonunda tutarlıdır. Senkronizasyon işleminiz yarıda çökerse, muhtemelen e-postaları çoğalt, sonuç sayfasını atla veya silmeleri kaçır. Gmail artımlı senkronizasyon için historyId'yi kullanır; Microsoft Graph deltaToken'ı kullanır. Her ikisi de yeniden başlatmalar boyunca dikkatli imleç yönetimi gerektirir. IMAP'in yerel bir senkronizasyon durumu yoktur - kendi UID takibinizi sağlamanız gerekir.
Geliştiriciler İçin E-posta API - Sıkça Sorulan Sorular
Gmail, Outlook ve IMAP genelinde ilk e-posta API entegrasyonunu oluşturan geliştiricilerin en sık sorduğu soruların yanıtları.
npm install @unipile/node-sdk. Ardından API URL'niz ve erişim jetonunuzla bir istemci oluşturun ve şunu çağırın client.eposta.tumunuListele() e-postaları okumak veya client.email.gönder() Gmail, Outlook ve IMAP'te tek bir kod yoluyla göndermek için. Yerel Gmail için, şunu kullanın: googleapis npm paketi. Microsoft Graph için şunu kullanın @microsoft/microsoft-graph-client.