Co oznacza "Wyślij w imieniu" w interfejsie API poczty e-mail?
Wysyłanie wiadomości e-mail w imieniu użytkownika oznacza, że Twoja aplikacja wysyła wiadomości bezpośrednio z jego własnej skrzynki pocztowej, a nie ze współdzielonego nadawcy transakcyjnego. Odbiorca widzi rzeczywisty adres e-mail użytkownika w polu "Od". Jest to podstawa każdego produktu SaaS, który zarządza pocztą e-mail dla swoich użytkowników.
Czego się nauczysz
Dlaczego produkty SaaS potrzebują wysyłania e-maili w imieniu użytkownika
Większość produktów SaaS związanych z pocztą e-mail ostatecznie napotyka to samo wymaganie: użytkownik chce, aby wiadomości pochodziły z jego własnego adresu, a nie z generycznej domeny platformy. Niezależnie od tego, czy jest to CRM, asystent pisania AI, czy narzędzie wsparcia, w momencie gdy Twój produkt wysyła e-maile w imieniu użytkowników, potrzebujesz wysyłania w ich imieniu. Oto dlaczego jest to ważne – i jak trzy główne przypadki użycia mapują się do API.
Sprzedawcy wysyłają ze swojego prawdziwego Gmaila lub Outlooka
W kontekście CRM, sprzedawca jest tym, który buduje relację. Jeśli Twoja platforma wysyła przypomnienia z noreply@yourcrm.com, spada dostarczalność, a potencjalny klient jest zdezorientowany. Dzięki wysyłaniu w imieniu działu, Twój system CRM wywołuje interfejs API Unipile, używając połączonego konta sprzedawcy. Każdy e-mail trafia do skrzynki odbiorczej potencjalnego klienta, pokazując prawdziwy adres przedstawiciela handlowego.
AI tworzy i wysyła wiadomości z poczty użytkownika
Asystenci e-mail AI – niezależnie od tego, czy automatycznie tworzą odpowiedzi, planują kolejne kroki, czy podsumowują wątki – potrzebują dostępu do zapisu skrzynki pocztowej użytkownika. Bez wysyłania w imieniu użytkownika AI może jedynie sugerować; nie może wykonać działania. Dzięki połączonemu kontu za pośrednictwem API Unipile Twój asystent może wysłać zatwierdzoną wiadomość bezpośrednio z Gmaila lub Outlooka użytkownika za pomocą jednego wywołania API.
Agentom pomocy technicznej odpowiada się ze wspólnej skrzynki odbiorczej pomocy technicznej
Platformy obsługi klienta często kierują zgłoszenia przez współdzieloną skrzynkę odbiorczą, taką jak support@company.com. Ta skrzynka odbiorcza sama w sobie jest skrzynką pocztową – musi zostać połączona jako konto. Dzięki Unipile Twoja platforma może połączyć tę współdzieloną skrzynkę pocztową Outlook lub IMAP, pozwalając każdemu agentowi wysyłać odpowiedzi, które wyglądają, jakby pochodziły bezpośrednio z oficjalnego adresu wsparcia, z zachowaniem pełnego kontekstu wątku.
POST /api/v1/emaile endpoint obsługuje konta Gmail, Outlook i IMAP.Jak działa API wysyłania wiadomości e-mail w imieniu innej osoby (przepływ OAuth 2.0)
Wysyłanie wiadomości e-mail w imieniu użytkownika wymaga trzech rzeczy: zgody użytkownika, ważnego tokena dostępu i wywołania wysyłki za pośrednictwem infrastruktury dostawcy. Oto, jak ten proces działa w praktyce i jak Unipile abstrahuje go do jednego, ujednoliconego API. Aby uzyskać szersze odniesienie techniczne dotyczące punktów końcowych wysyłki, parametrów i różnic między dostawcami, zobacz nasze pełne Przewodnik po API do wysyłania e-maili.
Użytkownik udziela uprawnień OAuth
Użytkownik klika "Połącz swój email" w Twoim produkcie SaaS. Unipile przekierowuje go do ekranu zgody OAuth dostawcy poczty – Google dla użytkowników Gmaila, Microsoft dla użytkowników Outlooka i Microsoft 365. Użytkownik loguje się i zatwierdza wymagane zakresy uprawnień, które obejmują możliwość wysyłania wiadomości e-mail w jego imieniu. Żadne hasło nigdy nie jest udostępniane Twojej aplikacji.
Aplikacja otrzymuje identyfikator połączonego konta
Po zakończeniu przez użytkownika przepływu OAuth, Unipile bezpiecznie przechowuje token dostępu i zwraca account_id do Twojej aplikacji. Jest to stabilny identyfikator połączonej skrzynki pocztowej użytkownika. Przechowujesz ten identyfikator w swojej bazie danych wraz z rekordem użytkownika. Wszystkie kolejne operacje e-mail dla tego użytkownika odnoszą się do tego identyfikatora konta - nigdy nie używasz surowego tokena OAuth.
Przesłać za pośrednictwem infrastruktury dostawcy
Gdy twoja aplikacja musi wysłać e-mail, wywołuje POST /api/v1/emaile z identyfikatorem konta i ładunkiem wiadomości. Unipile kieruje żądanie przez odpowiedniego dostawcę: API Gmaila dla kont Google, API Microsoft Graph dla kont Outlook i Microsoft 365 oraz SMTP dla kont IMAP. Wiadomość wysyłana jest z własnej skrzynki pocztowej użytkownika i pojawia się w folderze "Wysłane".
Przykłady kodu
import żądania # identyfikator_konta, pobrany po tym, jak użytkownik zakończy przepływ OAuth UNIPILE_DSN = "https://api1.unipile.com:13301" TOKEN_DOSTĘPU = "TWÓJ_TOKEN_DOSTĘPU" ACCOUNT_ID = "id_konta_użytkownika_z_bazy_danych" ładunek = { "account_id": ID_KONTA, "do": [{ "nazwa_wyświetlana": "Sarah Connor", "identyfikator": "sarah@acme.com" }], "temat": "Nawiązując do naszej rozmowy", "ciało": "Cześć Sarah, wracam do tematu...
" } odpowiedź = requests.stanowisko( f"{UNIPILE_DSN}/api/v1/emails", json=payload, headers={"X-API-KEY": TOKEN_DOSTĘPU} ) print(response.json()) # {"obiekt": "EmailWysłany", "id_emaila": "..."}
// account_id pobrane po tym, jak użytkownik zakończy przepływ OAuth const UNIPILE_DSN = "https://api1.unipile.com:13301"; const TOKEN_DOSTĘPU = "TWÓJ_TOKEN_DOSTĘPU"; const ACCOUNT_ID = "id_konta_użytkownika_z_bazy_danych"; const ładunek = { account_id: ID_KONTA, do: [{ display_name: "Sarah Connor", identyfikator: "sarah@acme.com" }], podmiot: "Nawiązując do naszej rozmowy", ciało: "Cześć Sarah, wracam do tematu...
" }; const response = czekać fetch(${UNIPILE_DSN}/api/v1/emails, { metoda: "POST", nagłówki: { "X-API-KEY": TOKEN DOSTĘPU, "Content-Type": "application/json" }, ciało: JSON.stringify(ładunek) }); const dane = czekać odzew.json(); konsola.log(dane); // { obiekt: "EmailWysłany", email_id: "..." }
On-Behalf vs Transakcyjny API e-mail: Kluczowa różnica
Te dwie kategorie interfejsów API poczty e-mail rozwiązują zasadniczo różne problemy. Pomylenie ich jest najczęstszym błędem popełnianym przez zespoły podczas określania specyfikacji integracji poczty e-mail. Oto jak się one porównują pod każdym istotnym względem.
Buduj wysyłanie wiadomości e-mail w imieniu użytkownika z Unipile
Unipile zapewnia jedno, ujednolicone API, które abstrakcjonuje Gmail, Outlook i IMAP za jednym spójnym interfejsem. Tworzysz jedną integrację, a Unipile zajmuje się specyficznymi dla dostawcy przepływami OAuth, odświeżaniem tokenów, routingu SMTP i obsługą błędów dla wszystkich trzech. Oto co jest dostępne dla każdego dostawcy.
API wysyłania wiadomości e-mail w imieniu użytkownika – często zadawane pytania
Najczęściej zadawane pytania dotyczące wysyłania wiadomości e-mail w imieniu użytkownika (on-behalf) za pomocą Unipile
Tak, pod warunkiem, że użytkownik wyraźnie udzieli na to zgody. Wysyłanie e-maili w jego imieniu opiera się na protokole OAuth 2.0 (dla Gmail i Outlook) lub na udostępnianiu danych uwierzytelniających (dla IMAP). W obu przypadkach użytkownik świadomie autoryzuje Twoją aplikację do wysyłania wiadomości z jego skrzynki pocztowej. Jest to ten sam mechanizm, który jest używany przez każdy główny klient poczty e-mail i narzędzie produktywności.
Kluczowe wymogi dotyczące zgodności to:
- Użytkownik musi aktywnie wyrazić zgodę, zanim wyślesz cokolwiek w jego imieniu
- Twoja polityka prywatności musi ujawniać, że uzyskujesz dostęp do skrzynki pocztowej użytkownika i wysyłasz z niej wiadomości.
- Użytkownik musi mieć możliwość cofnięcia dostępu w dowolnym momencie (unieważnienie tokenu OAuth lub odłączenie konta)
- Nie wolno udostępniać treści naruszających warunki świadczenia usług dostawcy (np. spam).
To nie jest legalne wysyłać z czyjegoś adresu bez jego zgody. Proces łączenia oparty na OAuth w Unipile zapewnia, że zawsze masz wyraźną zgodę użytkownika przed jakąkolwiek operacją wysyłki.
Odbiorca widzi własna domena użytkownika w polu Od – nie domena Twojej platformy. To jest kluczowa propozycja wartości wysyłania w imieniu. Na przykład, jeśli sprzedawca z adresem john@acme.com połączyło swoje konto Gmail, każde wysłane e-mail za pośrednictwem Twojego CRM przez Unipile będzie wyświetlany Od: john@acme.com.
E-mail jest wysyłany za pośrednictwem faktycznego dostawcy poczty użytkownika (API Gmaila, Microsoft Graph lub SMTP), co oznacza, że:
- Rekordy SPF są prawidłowe, ponieważ wysyłający adres IP jest autoryzowany przez domenę użytkownika.
- Podpisy DKIM są prawidłowe, ponieważ dostawca podpisuje kluczem domeny użytkownika
- DMARC alignment przechodzi z tych samych powodów
Jest to zasadniczo inne niż w przypadku interfejsu API transakcyjnego, gdzie wysyłasz z wspólnej infrastruktury, a odbiorca widzi domenę Twojej platformy.
Wymagane zakresy zależą od dostawcy. Unipile automatycznie obsługuje ekran zgody OAuth – Twoi użytkownicy widzą standardowy dialog uprawnień Google lub Microsoft. Dokładne żądane zakresy to:
- Gmail zakres Gmail API pozwalający na wysyłanie wiadomości
https://mail.google.com/lub bardziej ograniczonygmail.wyślijzakres, jeśli potrzebujesz tylko uprawnień do wysyłania) - Outlook / Microsoft 365: Microsoft Graph
Mail.Sendzakres, plusMail.ReadWritejeśli chcesz również odczytać lub zsynchronizować skrzynkę odbiorczą - IMAP użytkownik podaje nazwę hosta IMAP, port, nazwę użytkownika oraz hasło lub hasło specyficzne dla aplikacji (wymagane dla kont z włączonym uwierzytelnianiem dwuskładnikowym)
Użytkownicy mogą w dowolnym momencie cofnąć te uprawnienia w ustawieniach bezpieczeństwa swojego konta Google lub Microsoft, lub poprzez odłączenie połączonego konta w swoim produkcie.
Tak. Każda skrzynka pocztowa, którą można uwierzytelnić za pomocą danych uwierzytelniających OAuth lub IMAP, może zostać połączona jako konto Unipile. Obejmuje to:
- Wspólne skrzynki pocztowe w Microsoft 365 (np. support@company.com) - połączone za pomocą konta usługi z odpowiednimi delegowanymi uprawnieniami
- Współdzielone skrzynki odbiorcze i adresy grupowe Google Workspace z skonfigurowanymi uprawnieniami „Wyślij jako”
- Dowolny alias poczty e-mail obsługiwany przez skrzynkę pocztową dostępną przez IMAP
Możesz również dostosować nazwa wyświetlana w polu Od użyj z parametr w ładunku API, bez zmiany bazowego adresu wysyłkowego.
Unipile automatycznie obsługuje odświeżanie tokenów zarówno dla kont Gmail, jak i Outlook. Tokeny dostępu OAuth zazwyczaj wygasają po godzinie, ale token odświeżający jest długowieczny. Kiedy Unipile wykryje wygasły token dostępu przed operacją wysyłania, potajemnie żąda nowego przy użyciu przechowywanego tokena odświeżającego – Twoja aplikacja nigdy tego nie widzi, a wywołanie wysyłania kończy się sukcesem.
Jedyny raz, kiedy musisz poprosić użytkownika o ponowne uwierzytelnienie, to gdy ma on cofnięto dostęp ręcznie z ich ustawień konta Google lub Microsoft. Unipile prezentuje to jako zmianę statusu konta, którą można wykryć za pomocą webhooka lub poprzez sprawdzanie punktu końcowego konta.
Masz jeszcze jakieś pytania? Nasz zespół służy pomocą.