Przejdź do treści
Yuva

Yuva Email Worker dla Cloudflare

E-mail do pomocy przez Cloudflare.Żadnego serwera poczty do uruchamiania.

Cloudflare® Email Routing odbiera pocztę na Twoje adresy pomocy, a otwartoźródłowy Yuva Email Worker przekazuje każdą wiadomość do Yuva, podpisaną. Trafia do Twojej wspólnej skrzynki jako rozmowa, na którą odpowiada Twój zespół.

Czym jest

Email Routing z przodu

Cloudflare Email Routing staje się MX Twojej domeny i odbiera pocztę. Yuva nie nasłuchuje SMTP, więc nie ma serwera poczty do instalowania ani łatania.

Mały Worker open source

Yuva Email Worker odczytuje surową wiadomość i kopertę, podpisuje żądanie i wysyła je do Yuva. Parsowanie, wątkowanie i decyzje o spamie pozostają na serwerze.

Prawdziwe rozmowy

Poczta na adres pomocy otwiera lub kontynuuje rozmowę w skrzynce, a zespół odpowiada z tego samego panelu co na czat i wiadomości z aplikacji.

Jak wiadomość trafia od klienta do Twojego zespołu

  1. 1Klient pisze na jeden z Twoich adresów pomocy, na przykład support@example.com.
  2. 2Cloudflare Email Routing odbiera wiadomość i przekazuje ją do Yuva Email Worker.
  3. 3Worker podpisuje surową wiadomość, oba adresy koperty i znacznik czasu algorytmem HMAC-SHA256 przy użyciu sekretu współdzielonego z Yuva i wysyła je na /ingress/email na Twoim serwerze Yuva.
  4. 4Yuva sprawdza podpis i to, czy znacznik czasu mieści się w 5 minutach, zanim przeczyta wiadomość. Żądanie z błędnym podpisem jest odrzucane.
  5. 5Yuva znajduje kanał e-mail dla adresu odbiorcy i na podstawie In-Reply-To i References układa wiadomość w wątku rozmowy, do której należy. Wszystko inne rozpoczyna nową rozmowę. Odpowiedź ponownie otwiera rozmowę.
  6. 6Twój zespół odpowiada w panelu. Odpowiedź jest wysyłana przez własne konto SMTP kanału e-mail, takie jak Amazon SES, Postmark albo własny przekaźnik, z tego samego adresu i w tym samym wątku. Odpowiedzi nie przechodzą przez Workera.

Odrzucenia docierają do nadawcy

Gdy Yuva odrzuca wiadomość na stałe, na przykład z powodu nieznanego adresu, zablokowanego nadawcy albo zbyt dużej wiadomości, Worker ją odrzuca, a nadawca dostaje trwały błąd SMTP z powodem podanym przez Yuva.

Jeśli Yuva jest nieosiągalna

Jeśli Yuva odpowie błędem serwera, nie odpowie w ciągu 20 sekund albo jest nieosiągalna, Worker może przekazać wiadomość na wybrany przez Ciebie adres, o ile ustawisz FALLBACK_FORWARD. Ten adres musi być zweryfikowanym miejscem docelowym w Email Routing. Wiadomość dotrze wtedy jako zwykłe przekazanie i nie pojawi się w Yuva. Bez FALLBACK_FORWARD dostarczenie kończy się błędem, a serwer nadawcy może spróbować później ponownie.

Skonfiguruj to w kilku krokach

Potrzebujesz serwera Yuva i konta Cloudflare zarządzającego domeną.

  1. 1

    W Yuva otwórz Ustawienia → Twoja skrzynka → Kanały → E-mail i dodaj adres pomocy. Ustaw na serwerze sekret i uruchom go ponownie:

    YUVA_INGRESS_SECRET=<openssl rand -hex 32>
    YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
  2. 2

    Wdróż Workera na swoim koncie Cloudflare z tym samym sekretem:

    cd edge
    bun install
    bunx wrangler login
    bunx wrangler secret put INGRESS_SECRET
    bunx wrangler deploy --var YUVA_URL:https://support.example.com
  3. 3

    W panelu Cloudflare otwórz swoją domenę → Email → Email Routing i włącz go. Cloudflare dodaje swoje rekordy MX i SPF.

  4. 4

    W Routing rules wyślij każdy adres pomocy do Workera yuva-edge. Dla kanału zbiorczego skieruj na niego regułę zbiorczą.

  5. 5

    Wyślij wiadomość testową i zobacz, jak rozmowa pojawia się w panelu.

  6. 6

    Opcjonalnie: zachowaj pocztę w czasie awarii, dodając adres zapasowy do polecenia wdrożenia:

    bunx wrangler deploy --var YUVA_URL:https://support.example.com --var FALLBACK_FORWARD:you@example.org

Email Routing staje się MX domeny, więc użyj domeny lub subdomeny, której nie obsługuje żaden inny serwer poczty.

Przeczytaj przewodnik konfiguracji →

Niezwiązane z Cloudflare

Worker to jeden ze sposobów wywołania /ingress/email. Dowolny serwer poczty lub przekaźnik może wysłać surową wiadomość z tymi samymi podpisanymi nagłówkami, a serwer poczty dostarczający do polecenia może przekazać wiadomość potokiem do yuva ingest-email. Format żądania jest opisany w README Workera.

Pytania i odpowiedzi

Czy muszę uruchamiać serwer poczty?

Nie dla poczty przychodzącej. Yuva nie nasłuchuje SMTP; pocztę odbiera Cloudflare Email Routing, a Worker ją przekazuje. Odpowiedzi wymagają konta SMTP dla kanału e-mail, takiego jak Amazon SES, Postmark albo własny przekaźnik.

Co się dzieje, gdy Yuva nie działa?

Gdy ustawiono FALLBACK_FORWARD, wiadomość jest zamiast tego przekazywana na ten adres. Bez niego dostarczenie się nie powiedzie, a serwer nadawcy może spróbować ponownie. Wiadomości, które Yuva odrzuca celowo, na przykład poczta na nieznany adres, są odrzucane, a nie przekazywane.

Jakich domen i adresów mogę używać?

Dowolna domena, którą zarządzasz w Cloudflare i której poczty nie obsługuje żaden inny serwer, bo Email Routing staje się jej MX. Każdy kanał e-mail ma adres albo adres zbiorczy *@example.com dla wszystkich adresów domeny, których żaden kanał nie ma dokładnie. Podadres taki jak support+billing@example.com trafia do kanału adresu support@example.com.

Jak duża może być wiadomość?

Wiadomość może mieć do 25 MiB wraz z załącznikami, co jest limitem Cloudflare Email Routing. Yuva zachowuje do 50 załączników na wiadomość, każdy w granicach limitu rozmiaru załączników serwera (domyślnie 25 MiB) i dozwolonych typów; resztę pomija.

Czy ktoś może podrobić pocztę wysyłaną na mój serwer Yuva?

Yuva odrzuca każde żądanie bez prawidłowego podpisu HMAC lub ze znacznikiem czasu oddalonym o ponad 5 minut, zanim przeczyta treść. Zachowaj sekret dla siebie.

Czy Yuva używa wyniku DMARC z Cloudflare?

Tak, gdy ustawisz YUVA_INGRESS_AUTHSERV_ID na mx.cloudflare.net. Yuva czyta wtedy werdykt DMARC dodawany przez Email Routing. Nowa rozmowa, która nie przejdzie DMARC, jest oznaczana jako spam.

Cloudflare, logo Cloudflare i Cloudflare Workers są znakami towarowymi i/lub zastrzeżonymi znakami towarowymi Cloudflare, Inc. w Stanach Zjednoczonych i innych jurysdykcjach. Yuva to niezależny projekt open source, niepowiązany z Cloudflare ani przez nią niezatwierdzony.