Sari la conținut
Yuva

Yuva Email Worker pentru Cloudflare

E-mail de asistență prin Cloudflare.Niciun server de e-mail de rulat.

Cloudflare® Email Routing primește e-mailul adreselor tale de asistență, iar Yuva Email Worker, open source, predă fiecare mesaj către Yuva, semnat. Ajunge în căsuța ta comună ca o conversație la care răspunde echipa ta.

Ce este

Email Routing în față

Cloudflare Email Routing devine MX-ul domeniului tău și primește e-mailul. Yuva nu ascultă SMTP, deci nu ai un server de e-mail de instalat sau de ținut la zi.

Un Worker mic, open source

Yuva Email Worker citește mesajul brut și plicul, semnează cererea și o trimite către Yuva. Parsarea, gruparea pe fire și deciziile despre spam rămân pe server.

Conversații reale

E-mailul trimis la o adresă de asistență deschide sau continuă o conversație în căsuță, iar echipa răspunde din același panou ca pentru chat și mesajele din aplicație.

Cum ajunge un mesaj de la client la echipa ta

  1. 1Un client scrie la una dintre adresele tale de asistență, de exemplu support@example.com.
  2. 2Cloudflare Email Routing primește mesajul și îl dă mai departe către Yuva Email Worker.
  3. 3Workerul semnează mesajul brut, ambele adrese ale plicului și o amprentă de timp cu HMAC-SHA256 sub un secret pe care îl împarți cu Yuva și le trimite la /ingress/email pe serverul tău Yuva.
  4. 4Yuva verifică semnătura și faptul că amprenta de timp este în 5 minute înainte să citească mesajul. O cerere cu semnătură greșită este refuzată.
  5. 5Yuva găsește canalul de e-mail pentru adresa destinatarului și grupează mesajul, după In-Reply-To și References, în conversația căreia îi aparține. Orice altceva începe o conversație nouă. Un răspuns redeschide conversația.
  6. 6Echipa ta răspunde în panou. Răspunsul este trimis prin contul SMTP propriu al canalului de e-mail, cum ar fi Amazon SES, Postmark sau releul tău, de la aceeași adresă și în același fir. Răspunsurile nu trec prin Worker.

Respingerile ajung la expeditor

Când Yuva refuză definitiv un mesaj, de exemplu o adresă necunoscută, un expeditor blocat sau un mesaj prea mare, Workerul îl respinge, iar expeditorul primește o eroare SMTP permanentă cu motivul Yuva.

Dacă Yuva nu poate fi contactat

Dacă Yuva răspunde cu o eroare de server, nu răspunde în 20 de secunde sau nu poate fi contactat, Workerul poate redirecționa mesajul către o adresă aleasă de tine, cu condiția să setezi FALLBACK_FORWARD. Acea adresă trebuie să fie o destinație verificată în Email Routing. Mesajul ajunge atunci ca o simplă redirecționare și nu apare în Yuva. Fără FALLBACK_FORWARD livrarea eșuează cu o eroare, iar serverul expeditor poate încerca din nou mai târziu.

Configurează-l în câțiva pași

Ai nevoie de un server Yuva și de un cont Cloudflare care administrează domeniul.

  1. 1

    În Yuva, deschide Setări → căsuța ta → Canale → E-mail și adaugă adresa de asistență. Setează un secret pe server și repornește-l:

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

    Implementează Workerul în contul tău Cloudflare, cu același secret:

    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

    În panoul Cloudflare, deschide domeniul tău → Email → Email Routing și activează-l. Cloudflare adaugă înregistrările lui MX și SPF.

  4. 4

    La Routing rules, trimite fiecare adresă de asistență către Workerul yuva-edge. Pentru un canal colector, îndreaptă regula colectoare către el.

  5. 5

    Trimite un mesaj de test și urmărește conversația apărând în panou.

  6. 6

    Opțional: păstrează e-mailul în timpul unei pene adăugând o adresă de rezervă la comanda de implementare:

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

Email Routing devine MX-ul domeniului, așa că folosește un domeniu sau subdomeniu pe care nu-l gestionează alt server de e-mail.

Citește ghidul de configurare →

Nu e legat de Cloudflare

Workerul este o modalitate de a apela /ingress/email. Orice server de e-mail sau releu poate posta mesajul brut cu aceleași anteturi semnate, iar un server de e-mail care livrează către o comandă poate transmite mesajul prin pipe către yuva ingest-email. Formatul cererii este documentat în README-ul Workerului.

Întrebări și răspunsuri

Trebuie să rulez un server de e-mail?

Nu pentru e-mailul primit. Yuva nu ascultă SMTP; Cloudflare Email Routing primește e-mailul, iar Workerul îl transmite mai departe. Răspunsurile au nevoie de un cont SMTP pentru canalul de e-mail, cum ar fi Amazon SES, Postmark sau releul tău.

Ce se întâmplă când Yuva e căzut?

Cu FALLBACK_FORWARD setat, mesajul este redirecționat în schimb către acea adresă. Fără el livrarea eșuează, iar serverul expeditor poate încerca din nou. Mesajele pe care Yuva le refuză intenționat, cum ar fi e-mailul către o adresă necunoscută, sunt respinse, nu redirecționate.

Ce domenii și adrese pot folosi?

Orice domeniu pe care îl administrezi în Cloudflare și al cărui e-mail nu e gestionat de alt server, pentru că Email Routing devine MX-ul lui. Fiecare canal de e-mail are o adresă sau adresa colectoare *@example.com pentru fiecare adresă a domeniului pe care niciun canal nu o are exact. O subadresă precum support+billing@example.com ajunge în canalul adresei support@example.com.

Cât de mare poate fi un mesaj?

Un mesaj poate avea până la 25 MiB, cu tot cu atașamente, adică limita Cloudflare Email Routing. Yuva păstrează până la 50 de atașamente per mesaj, fiecare în limita de dimensiune a atașamentelor a serverului (implicit 25 MiB) și dintre tipurile permise; restul le omite.

Poate cineva să falsifice e-mailuri către serverul meu Yuva?

Yuva refuză orice cerere fără semnătură HMAC validă sau cu o amprentă de timp decalată cu mai mult de 5 minute, înainte să citească corpul. Păstrează secretul pentru tine.

Folosește Yuva rezultatul DMARC de la Cloudflare?

Da, când setezi YUVA_INGRESS_AUTHSERV_ID la mx.cloudflare.net. Yuva citește atunci verdictul DMARC pe care îl adaugă Email Routing. O conversație nouă care pică DMARC este marcată ca spam.

Cloudflare, sigla Cloudflare și Cloudflare Workers sunt mărci comerciale și/sau mărci comerciale înregistrate ale Cloudflare, Inc. în Statele Unite și în alte jurisdicții. Yuva este un proiect open source independent, neafiliat cu Cloudflare și neaprobat de aceasta.