API pocztowe dla programistów:
Zbuduj z Gmail, Outlook i IMAP
Praktyczny poradnik dla programistów budujących integracje pocztowe: porównaj Gmail API, Microsoft Graph i IMAP, a następnie zobacz, jak ujednolicone API pocztowe dla programistów skraca tygodnie powtarzalnego kodu do pojedynczego wywołania REST.
Czym jest API wiadomości e-mail dla programistów?
Zanim porównasz dostawców i napiszesz kod, oto precyzyjna definicja, której potrzebują wyszukiwarki i Twoi koledzy z zespołu.
An API do obsługi poczty e-mail dla programistów interface programistyczny, który pozwala Twojej aplikacji uwierzytelnić się jako użytkownik, a następnie odczytywać, wysyłać lub zarządzać e-mailami tego użytkownika bezpośrednio w Gmailu, Outlooku lub dowolnej skrzynce pocztowej IMAP – bez konieczności obsługi ich hasła. API uwierzytelnia się za pomocą OAuth 2.0 (lub danych uwierzytelniających IMAP), zwraca ustrukturyzowane odpowiedzi JSON i wysyła webhaki po nadejściu nowej poczty. Jest to kategorycznie odmienne od API poczty transakcyjnej (SendGrid, Mailgun), które wysyła pocztę marketingową lub powiadomień w imieniu Twojej marki - interfejs API pocztowy dla deweloperów działa w imieniu Twojego użytkownika, w ich istniejącej skrzynce pocztowej.
W praktyce: system pomocy technicznej SaaS wykorzystuje API poczty e-mail do pobierania zgłoszeń serwisowych bezpośrednio z subskrypcji Gmail klienta. CRM wykorzystuje go do synchronizacji każdej nici e-mailowej, którą przedstawiciel handlowy wymienia z potencjalnym klientem. Agent AI wykorzystuje go do odczytywania, klasyfikowania i tworzenia odpowiedzi w koncie Outlook użytkownika. Są to integracje po stronie synchronizacji, po stronie użytkownika OAuth – nie potoki masowego wysyłania.
Dlaczego deweloperzy potrzebują integracji z API poczty e-mail
Oto cztery kategorie produktów, w których API poczty e-mail dla deweloperów przynosi bezpośrednią wartość biznesową – odczytywanie i reagowanie na e-maile rzeczywistych użytkowników, a nie masowe wysyłanie.
Systemy CRM, centra pomocy i narzędzia do zarządzania projektami potrzebują bezpośredni dostęp do skrzynki pocztowej użytkownika. Twoja aplikacja uwierzytelnia się raz za pomocą OAuth, a następnie odczytuje, wątkuje i prezentuje wiadomości e-mail bezpośrednio w Twoim interfejsie użytkownika – bez kopiowania i wklejania, bez reguł przekazywania. Integracja z API poczty e-mail działa w tle, zapewniając świeżość Twoich danych.
Agentów opartych na LLM potrzebuje czytaj i klasyfikuj prawdziwe e-maile do tworzenia odpowiedzi, ekstrakcji encji, uruchamiania przepływów pracy lub kierowania zgłoszeń. API email dla deweloperów zapewnia agentowi AI dostęp do skrzynki odbiorczej w ustrukturyzowanym formacie JSON – temat, treść, załączniki, nagłówki – bez konieczności tworzenia niestandardowego klienta poczty.
Wyciągnij e-maile wsparcia bezpośrednio z skrzynki pocztowe klientów lub foldery udostępnione, oznaczaj je tematycznie, przypisuj agentów i publikuj odpowiedzi – wszystko programowo. Integracja z API poczty e-mail zastępuje zawodne odpytywanie SMTP właściwym interfejsem REST i powiadomieniami w czasie rzeczywistym.
Loguj każdego maila wysłanego lub odebranego przez przedstawiciela handlowego w powiązaniu z odpowiednim kontaktem lub transakcją. Śledź status otwarcia/odpowiedzi na poziomie wątków. Utrzymuj synchronizację CRM z historia prawdziwych rozmów Bez konieczności proszenia przedstawicieli o dodawanie do ukrytej kopii (BCC) magicznego adresu. Czysta integracja API poczty e-mail - po stronie użytkownika, oparta na OAuth, w imieniu każdego indywidualnego przedstawiciela.
To NIE jest przeznaczone do wiadomości e-mail transakcyjnych. Jeśli Twoim przypadkiem użycia jest wysyłanie resetów haseł, potwierdzeń zamówień lub biuletynów z własnej domeny – jest to rynek transakcyjny (SendGrid, Mailgun, Resend). API pocztowe Unipile dla programistów obsługuje rynek synchronizacji/odczytu/zapisu w imieniu użytkownika: inna infrastruktura, inne wymogi dotyczące zgodności, inny model cenowy.
Gmail API, Microsoft Graph i IMAP w porównaniu
Każda integracja z API poczty email zaczyna się od jednego z trzech natywnych dostawców. Oto, co każdy z nich oferuje i gdzie każdy z nich stwarza problemy dla programistów.
| Cecha | Gmail API | Microsoft Graph | IMAP | Unipile (ujednolicony) |
|---|---|---|---|---|
| Metoda uwierzytelniania | OAuth 2.0 | OAuth 2.0 | Hasło / XOAUTH2 | OAuth 2.0 (wszystkie) |
| Webhooki działające w czasie rzeczywistym | Pub/Sub (potrzebny GCP) | Subskrypcje grafu | Nie (odpytywanie IDLE) | Zunifikowany webhook |
| Format odpowiedzi | Gmail JSON (niestandardowy) | Graf JSON (OData) | RFC 2822 surowy MIME | Ujednolicony schemat JSON |
| Odświeżanie tokena | Instrukcja (biblioteka google-auth-library) | Instrukcja (MSAL) | NIE DOTYCZY | Zarządzany przez Unipile |
| Limity stawek | 250 QU/użytkownik/s | 10 tys. zgłoszeń/10 min | Zależy od serwera | Abstrakcyjny + ponów próbę |
| Wyślij e-mail | Tak | Tak | Tylko SMTP | Tak (wszyscy dostawcy) |
| Załączniki | Wymaga dodatkowego połączenia | Maks. 4MB w linii | Pełny MIME | Zjednoczone API załączników |
| Czas konfiguracji (szacunkowy) | 1-2 tygodnie | 1-2 tygodnie | 3-5 dni | Godziny |
Natywne API poczty e-mail a zunifikowane API poczty e-mail: porównanie rzeczywistego kodu
Porównanie obu podejść obok siebie – w faktycznym kodzie – czyni kompromis konkretnym. Wybierz poniżej język, aby porównać odczytywanie wiadomości e-mail natywnie lub za pośrednictwem ujednoliconego interfejsu API poczty e-mail Unipile.
// 1. Zainstaluj i skonfiguruj klienta OAuth
const {google} = require('googleapis');
const autoryzacja = nowy google.auth.OAuth2(
CLIENT_ID, CLIENT_SECRET, REDIRECT_URI
);
// 2. Wymiana kodu autoryzacyjnego na tokeny
const {tokeny} = czekać autoryzacja.pobierzToken(kod);
autoryzacja.ustawPoświadczenia(tokeny);
// 3. Tokeny dostępu i odświeżania przechowywane ręcznie
// 4. Wywołaj Gmail API
const gmail = google.gmail({
wersja: 'v1', autoryzacja
});
const res = czekać
gmail.users.messages.list({
userId: 'ja', maxResults: 10
});
// 5. Pobierz pełną wiadomość po ID
const wiadomość = czekać
gmail.users.messages.uzyskać({
userId: 'ja',
id: res.data.wiadomości[0].id,
format: 'pełny'
});
// 6. Samodzielnie przeanalizuj ładunek zakodowany w base64urlJeden pakiet SDK, wszyscy dostawcy
const unipile =
require('@unipile/node-sdk');
const klient =
nowy unipile.UnipileClient(
API_URL, TOKEN_DOSTĘPU
);
// 2. Tokeny zarządzane przez Unipile
// Nie jest wymagany ręczny przepływ OAuth
// 3. Wypisz emaile
const e-maile = czekać
client.email.listAll({
identyfikator_konta: IDENTYFIKATOR_KONTA,
limit: 10
});
// 4. Ciało już odkodowane
// ujednolicone JSON - ten sam schemat
// dla Gmail, Outlook, IMAP
konsola.log(emails.przedmioty);import msal, żądania
# 1. Poufny klient MSAL
aplikacja = msal.AplikacjaDlaKlientaPoufnego(
CLIENT_ID,
autorytet=WŁADZA,
credential_klienta=KLUCZ_SEKRETNY
)
# 2. Pobierz token w imieniu użytkownika
wynik = aplikacja.pobierz_token_przez_ przepływ_kodu_autoryzacji(
przepływ, auth_response
)
token = wynik['token dostępu']
# 3. Obsługa odświeżania tokenów, bezpieczne przechowywanie
# 4. Interfejs API wykresu wywołań
nagłówki = {'Authorization': f'Bearer {token}'}
r = żądania.uzyskać(
'https://graph.microsoft.com/v1.0/me/messages',
nagłówki=nagłówki
)
# 5. Analiza odpowiedzi w formacie ODataimport żądania
Token # zarządzany przez Unipile
# Bez MSAL, bez konfiguracji OAuth
nagłówki = {
'Klucz API X': TOKEN_DOSTĘPU,
'Akceptuj': 'application/json'
}
# działa zarówno w Gmailu, jak i w Outlooku
# Ten sam punkt końcowy, ten sam schemat
r = żądania.uzyskać(
'https://api7.unipile.com:13091'
'/api/v1/e-maile',
nagłówki=nagłówki,
parametry={
'id_konta': IDENTYFIKATOR_KONTA,
'ograniczenie': 10
}
)
e-maile = r.json()
# Już przetworzono, brak OData# IMAP nie posiada interfejsu API REST
# Wymagane jest użycie biblioteki imaplib lub node-imap
# Brak odpowiednika cURL
Przykład #: openssl s_client
# (tylko do celów testowych – nie do użytku produkcyjnego)
openssl s_client \
-połącz imap.gmail.com:993 \
-cicho
# Następnie wyślij surowe polecenia IMAP:
# A001 LOGOWANIE user@gmail.com hasło
# A002 Wybierz skrzynkę odbiorczą
# A003 FETCH 1 RFC822
# A004 WYLOGOWANIE
# Otrzymujesz surowe dane MIME zgodne ze standardem RFC 2822
# Należy przeanalizować nagłówki i zdekodować
# – części w formacie Base64, obsługa wiadomości wieloczęściowych
# – wyznaczaj sobie granice
# Dodatkowo: brak webhooków, konieczne jest odpytywanie w trybie IDLEInterfejs API REST # – współpracuje z dowolnym
Dostawca poczty elektronicznej # za pośrednictwem cURL
zwijać się \
-X POBIERZ \
-H "X-API-KEY: $TOKEN" \
-H "Akceptuj: application/json" \
"https://api7.unipile.com:13091
/api/v1/emails
?account_id=$ACCOUNT_ID
&limit=10"
Odpowiedź #: czysty JSON
# { "elementy": [ { "id": "...",
# "temat": "Witaj",
# "from": { "name": "Alice",
# "adres": "..." },
# "body_plain": "...",
# "date": "2026-05-12T..." } ] }
# Ten sam punkt końcowy dla Gmaila,
# Outlook oraz konta IMAPPodstawy OAuth 2.0 do integracji z interfejsem API poczty e-mail
Każda integracja z produkcyjnym API pocztowym opiera się na OAuth 2.0 do uwierzytelniania jako użytkownik bez przechowywania jego hasła. Oto, co musisz skonfigurować dla każdego dostawcy – i jak Unipile zajmuje się tym za Ciebie.
gmail.tylko_do_odczytu, gmail.wyślij. Wrażliwe zakresy wymagają weryfikacji Google w celu produkcji.biblioteka-gogle-autoryzacji lub niestandardowy program obsługi.Mail.Read, Mail.Send, Mail.ReadWrite.SDK i narzędzia do integracji API poczty e-mail
Niezależnie od tego, czy tworzysz natywnie, czy używasz zunifikowanej warstwy, odpowiedni zestaw SDK skraca żmudną pracę. Oto obecny krajobraz dla każdego dostawcy i dla Unipile.
Oficjalny pakiet SDK dla zunifikowanego API poczty e-mail Unipile. Obsługuje odczyt, wysyłanie, zarządzanie kontami poczty e-mail oraz webhooki dla Gmail, Outlook i IMAP - w jednym pakiecie. Dołączono definicje TypeScript.
@azure/msal-node osobno). Zadbany. Format odpowiedzi OData wymaga dodatkowego parsowania w prostych przypadkach użycia.Przyjazne dla deweloperów cenniki: zacznij za darmo, skaluj przejrzyście
"Natywne API poczty e-mail "za darmo" tak naprawdę nie są darmowe. Gmail API i Microsoft Graph kosztują zero dolarów za wywołanie API, ale każde z nich wymaga tygodni pracy inżynieryjnej: cykle weryfikacji OAuth, logika odświeżania tokenów, infrastruktura webhooków, procedury ponawiania prób, mapowanie błędów. Średniej wielkości zespół zazwyczaj zużywa od 3 do 6 tygodni, zanim wdroży jedną funkcję. Zunifikowane API poczty e-mail Unipile dla programistów zastępuje tę pracę 7-dniowym bezpłatnym okresem próbnym, bez konieczności podawania karty kredytowej.
Podsumowując: Wywołania API są darmowe, inżynieria nie. Budowanie produkcji klasy integracji e-mailowej na bazie natywnych API (przepływy uwierzytelniania, odświeżanie tokenów, obsługa błędów, infrastruktura webhooków, abstrakcja wielu dostawców) zazwyczaj kosztuje od 3 do 8 tygodni pracy starszego dewelopera na dostawcę, plus bieżące utrzymanie za każdym razem, gdy Google lub Microsoft wprowadzi zmianę łamiącą kompatybilność. Unipile rozlicza się za połączone konto miesięcznie z przejrzystymi progami. Zobacz Przewodnik po bezpłatnym API e-mail pełne wyjaśnienie.
Bezpieczeństwo i zgodność w integracjach API e-mail
Kiedy Twoja aplikacja obsługuje e-maile użytkowników, zgodność nie jest opcjonalna. Unipile jest stworzony z myślą o dwóch kluczowych dla produktów skierowanych do deweloperów, które przetwarzają dane europejskie i korporacyjne, ramach.
Unipile to Certyfikat SOC 2 typu II. Audyt obejmuje kryteria dotyczące bezpieczeństwa, dostępności i poufności usług powierniczych. Oznacza to, że niezależni audytorzy potwierdzili kontrole Unipile w ustalonym okresie – nie tylko w jednym punkcie czasowym. Wymagane przez większość nabywców korporacyjnych i kwestionariusze bezpieczeństwa SaaS.
Unipile przetwarza dane e-mail jako przetwarzający dane Zgodnie z art. 28 RODO, umowy o przetwarzanie danych (DPA) są dostępne dla wszystkich płatnych planów. Dane e-mail użytkowników są przetwarzane wyłącznie przez czas trwania uwierzytelnionej sesji i w zakresie przyznanym przez zgodę OAuth użytkownika. Brak równoległego przechowywania danych, brak sprzedaży danych stronom trzecim.
Częste pułapki integracji API poczty e-mail (i jak je naprawić)
Każdy programista tworzący swoją pierwszą integrację z API poczty e-mail uderza w te same cztery ściany. Oto one – i jak sobie z każdą z nich prawidłowo poradzić.
Limit Gmaila wynoszący 250 jednostek kwoty na użytkownika na sekundę brzmi hojnie, dopóki nie zdasz sobie sprawy, że wyświetlenie 10 wiadomości kosztuje 5-10 jednostek każda, a pobieranie pełnych treści dodaje kwotę za bajt. Microsoft Graph ma limit 10 000 żądań na 10 minut na aplikację na najemcę. Przekroczenie limitu zwraca 429 - Zbyt wiele żądań. Bez logiki ponawiania zapętlanie synchronizacji ulega cichemu awarii.
Tokeny dostępu Google wygasają po 3600 sekundach. Tokeny Microsoft po 60-90 minutach. Jeśli twój token odświeżający zostanie unieważniony (zmiana hasła, odwołanie dostępu do aplikacji lub token nie był używany przez 6 miesięcy przez Google), cała synchronizacja cicho ustaje. Nie pojawia się żaden błąd, chyba że monitorujesz odpowiedź wywołania odświeżania.
Subskrypcje Microsoft Graph wygasają po maksymalnie 4230 minutach (~3 dni dla poczty). Zapomnienie o ich odnowieniu oznacza brak powiadomień push - Twoja aplikacja powraca do odpytywania lub całkowicie pomija zdarzenia. Subskrypcje Gmail Pub/Sub są bardziej trwałe, ale wymagają subskrypcji GCP, aby pozostać ważnymi, a temat musi istnieć.
API pocztowe są ostatecznie spójne. Jeśli Twój proces synchronizacji ulegnie awarii w trakcie działania, możesz duplikaty wiadomości e-mail, pominięcie strony wyników lub brak usunięć. Gmail używa historyId do synchronizacji przyrostowej; Microsoft Graph używa deltaToken. Oba wymagają starannego zarządzania kursorem po ponownym uruchomieniu. IMAP nie ma natywnego stanu synchronizacji – musisz samodzielnie śledzić UID.
API do obsługi poczty e-mail dla programistów - często zadawane pytania
Odpowiedzi na pytania, które programiści najczęściej zadają podczas tworzenia swojej pierwszej integracji z interfejsem API poczty elektronicznej w Gmailu, Outlooku i IMAP.
npm install @unipile/node-sdk. Następnie utwórz klienta, podając adres URL swojego API i token dostępu, a następnie wywołaj client.email.listAll() do czytania e-maili lub client.email.send() do wysyłania – przez Gmail, Outlook i IMAP przy użyciu jednej ścieżki kodu. W przypadku natywnego Gmaila użyj googleapis pakiet npm. Dla Microsoft Graph użyj @microsoft/microsoft-graph-client.