Visi projektai

El. pašto infrastruktūra

Mūsų el. pašto servisas — Postfix/OpenDKIM SMTP, DKIM siuntimai ir kampanijos per domenus, viena API.

Node.jsPostfixDKIM
WebEdge Mailer prisijungimo ekrano vaizdasDev-story
01

Iššūkis

Kiekvienam produktui reikėjo siųsti laiškus — patvirtinimus, perspėjimus, kampanijas — ir nenorėjome, kad kiekvienas pats derintų SMTP, DKIM ir siuntėjo reputaciją.

02

Ką darėme

Vienas pašto servisas: API, pasirašantis DKIM, tvarkantis „from“ adresus ir API raktus, apdorojantis transakcinius laiškus bei suplanuotas kampanijas su atidarymų/paspaudimų statistika ir automatikos trigeriais. Programos POST'ina į „mailer.webedge.dev/api/v1/send“ su raktu.

03

Rezultatas

Kalendorius, ePokalbis ir kitos programos siunčia per šį vieną servisą, o pristatomumas (DKIM, „from“ adresas) tvarkomas vienoje vietoje, o ne kiekviename projekte.

Dev-story straipsnis

Kaip buvo kuriamas projektas: El. pašto infrastruktūra

Kiekvienai mūsų programai reikia siųsti el. laiškus — kodus, kvitus, perspėjimus, kampanijas — o įprastas atsakymas yra trečios šalies siuntėjas, kurio nematai ir moki už žinutę. Norėjome savo kelio: tikro SMTP steko, kurį valdome patys, DKIM pasirašyto ir daugiadomenio, už vieno API, kad nė viena programa neliestų SMTP.

Skyriai

05

Moduliai

04

Stackas

Node.js + Postfix

01

Kodėl projektas atsirado

Kiekvienam produktui reikėjo siųsti laiškus — patvirtinimus, perspėjimus, kampanijas — ir nenorėjome, kad kiekvienas pats derintų SMTP, DKIM ir siuntėjo reputaciją.

Kiekvienai mūsų programai reikia siųsti el. laiškus — kodus, kvitus, perspėjimus, kampanijas — o įprastas atsakymas yra trečios šalies siuntėjas, kurio nematai ir moki už žinutę. Norėjome savo kelio: tikro SMTP steko, kurį valdome patys, DKIM pasirašyto ir daugiadomenio, už vieno API, kad nė viena programa neliestų SMTP.

02

Ką sukūrėme

Vienas pašto servisas: API, pasirašantis DKIM, tvarkantis „from“ adresus ir API raktus, apdorojantis transakcinius laiškus bei suplanuotas kampanijas su atidarymų/paspaudimų statistika ir automatikos trigeriais. Programos POST'ina į „mailer.webedge.dev/api/v1/send“ su raktu.

Pradėjo kaip savas SMTP branduolys (Postfix + OpenDKIM + REST API), išaugo į profesionalią v2 tarnybą, o tada į v3 su daugiadomeniu palaikymu, Vue skydeliu ir auth sistema. Programos atiduoda žinutę vienam API raktui; servisas ją pasirašo (DKIM/SPF/DMARC), išsiunčia ir įrašo, kas realiai išėjo, o veikia už nginx reverse proxy.

03

Pagrindiniai moduliai ir vartotojo kelias

M01

Vienas API raktas, vienas integracijos taškas: transakciniai siuntimai ir suplanuotos kampanijos eina per tą patį servisą, tad nė viena programa neturi savo SMTP prisijungimų ar logikos.

M02

DKIM pasirašyta, daugiadomenis: OpenDKIM pasirašo išeinantį paštą pagal domeną, tad pristatomumas ir domeno reputacija tvarkomi centralizuotai, ne kiekvienoje programoje.

M03

Vue skydelis ir auth sistema padaro jį valdomą — domenai, siuntimai ir kampanijos tvarkomi sąsajoje, ne konfig failuose.

M04

Veikia už nginx reverse proxy su trust-proxy, tad servisas mato tikrus klientų adresus ir lieka diegiamas kaip įprasta infrastruktūra.

04

Architektūra ir technologiniai sprendimai

Sukurta su Node.js, Postfix, DKIM.

Node.js servisas; Postfix + OpenDKIM SMTP ir pasirašymo sluoksniui; REST API kaip vienintelis įėjimas; Vue frontend ir auth valdymui; nginx reverse proxy priekyje.

05

Rezultatas ir pamokos

Kalendorius, ePokalbis ir kitos programos siunčia per šį vieną servisą, o pristatomumas (DKIM, „from“ adresas) tvarkomas vienoje vietoje, o ne kiekviename projekte.

Pašto servisas, kurį valdome nuo pradžios iki galo: DKIM pasirašyti transakciniai laiškai ir kampanijos per domenus už vieno API rakto, tad kiekviena WebEdge programa siunčia per vieną kontroliuojamą, stebimą kelią, o ne per nuomojamą juodąją dėžę.

Toliau skaityti

Šie projektai turi artimų technologinių arba produkto sprendimų, todėl padeda matyti, kaip tas pats principas veikia kitame kontekste.

Turite panašią idėją?

Aptarti projektą