Integracije
E-poštni kanal
Povežite nabiralnik kot kanal HelpStack: dohodna pošta se periodično bere prek IMAP, odgovori pa se pošiljajo prek SMTP.
Hitre dejstvice#
| Vrsta kanala | EMAIL |
| Dohodno | Delavec za periodično branje prek IMAP (npm run email:poll) |
| Odhodno | SMTP prek nodemailer (poverilnice kanala) |
| Poverilnice | Shranjene šifrirano (AES-256-GCM) po kanalu |
| Varnost transporta | IMAP prek TLS |
| Interval branja | ~10s (razvoj) / ~60s (produkcija) |
Dohodno: periodično branje prek IMAP#
Delavec za periodično branje se poveže na IMAP strežnik (TLS) vsakega aktivnega kanala EMAIL in v vsakem ciklu:
- Pridobi nedavno neobdelano pošto.
- Razčleni besedilo, HTML in priloge.
- Odpravi podvajanja po message-id + predogledu (da se ista pošta ne vnese dvakrat).
- Ustvari pogovor, zaključen po e-poštnem naslovu pošiljatelja.
- Naloži priloge v shrambo.
- Označi pošto kot obdelano.
Kako se sledi "obdelano"
Delavec za periodično branje daje prednost ključni besedi IMAP po meri $HelpStackProcessed, ki pusti zastavico \Seen nedotaknjeno (tako sporočilo v drugih odjemalcih izgleda še vedno neprebrano). Če strežnik ne podpira ključnih besed po meri, vrne na zastavico \Seen.
Priporočilo: za kanal uporabite namenski nabiralnik. Če strežnik ne podpira ključnih besed po meri, se HelpStack zanaša na
\Seen, da se izogne ponovnemu vnosu pošte — souporaba nabiralnika s človeškim bralcem (ki označi stvari kot prebrane/neprebrane) lahko povzroči zamujeno ali podvojeno vnašanje.
Razvrščanje v niti
Informacije o razvrščanju v niti se shranjujejo v metapodatkih pogovora, da se odgovori pravilno razvrstijo:
| Polje metapodatkov | Vir |
|---|---|
emailSubject | Zadeva dohodne pošte |
emailMessageId | Glava Message-ID |
emailReferences | Veriga References / In-Reply-To |
Zagon delavca za periodično branje
npm run email:poll
Ta delavec zaženite skupaj z aplikacijo (in delavcem čakalne vrste sporočil), da se dohodna e-pošta vnese. V produkciji bere vsaj enkrat na ~60 s; v razvoju vsaj enkrat na ~10 s.
Nastavljive okoljske spremenljivke#
| Spremenljivka | Privzeto | Namen |
|---|---|---|
EMAIL_MAX_BODY_BYTES | ~100 KB | Največja velikost telesa, ki se vnese; daljša telesa so skrajšana |
EMAIL_MIN_ATTACHMENT_BYTES | ~1 KB | Priloge, manjše od tega, so preskočene (filtrira slikovne piksle za sledenje) |
EMAIL_MAX_AGE_DAYS | 5 | Prezre pošto, starejšo od tega števila dni |
IMAP_ALLOW_SELF_SIGNED | — | Samo za razvoj — sprejme samopodpisane certifikate TLS za IMAP |
Šifriranje#
Poverilnice IMAP/SMTP vsakega kanala so shranjene šifrirano z AES-256-GCM. Nadzorna plošča ponuja gumb Preizkusi, ki potrdi konfigurirane poverilnice (vzpostavi in avtenticira povezavo) preden jih shranite/zaupate jim.
Preverjena polja poverilnic za e-poštni kanal (credentials):
host, port, username, password, from,
secure?, imapHost?, imapPort?, imapSecure?, imapAllowSelfSigned?
Odhodno: SMTP prek nodemailer#
Odgovori se pošiljajo prek SMTP z uporabo nodemailer s lastnimi poverilnicami SMTP kanala: host, port, secure, user, pass in from. Odhodno pošiljanje obravnavajo pošiljatelji čakalne vrste sporočil.
SMTP kanala vs. sistemski SMTP za obvestila
To sta ločeni e-poštni poti — ne zamešajte ju:
| SMTP kanala | Sistemski SMTP za obvestila | |
|---|---|---|
| Namen | Odgovori strankam na kanalu EMAIL | E-poštna sporočila platforme/sistema |
| Poverilnice | Po kanalu, šifrirano | Okoljske spremenljivke |
| Konfigurirano prek | Nastavitve kanala | SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, SMTP_SECURE, SMTP_FROM |
| Privzeti pošiljatelj | Polje from kanala | noreply@helpstack.eu |
Sistemska e-poštna obvestila (npr. sporočila o računu/sistemu) vedno uporabljajo SMTP, konfiguriran prek okoljskih spremenljivk, in privzetega pošiljatelja noreply@helpstack.eu, neodvisno od katerega koli kanala.