| Termin | Definicja |
|---|---|
| Nodemailer | Nodemailer to najpopularniejsza biblioteka Node.js do wysyłania wiadomości e-mail. Warstwa pośrednia między kodem a serwerem SMTPNodemailer udostępnia obiekt transportu tworzony wywołaniem createTransport, któremu podaje się adres serwera, port, tryb szyfrowania oraz dane logowania w obiekcie auth. Wysyłkę wykonuje metoda sendMail przyjmująca pola from, to, cc, bcc, subject oraz treść w dwóch wariantach - text dla wersji czysto tekstowej i html dla formatowanej. Załączniki przekazuje się tablicą attachments, w której każdy element wskazuje ścieżkę pliku, bufor w pamięci albo strumień, opcjonalnie z własną nazwą i identyfikatorem cid pozwalającym osadzić obrazek wewnątrz treści. Wybór portu i trybu szyfrowania decyduje o wszystkimDwie najczęstsze konfiguracje różnią się jednym parametrem. Port 465 wymaga ustawienia secure na wartość prawdziwą - połączenie jest szyfrowane od pierwszego bajtu. Port 587 wymaga wartości fałszywej, bo szyfrowanie zestawiane jest dopiero poleceniem STARTTLS po nawiązaniu jawnego połączenia. Zamiana tych ustawień miejscami kończy się zawieszeniem połączenia bez czytelnego komunikatu, aż do wygaśnięcia limitu czasu. Przy wysyłce seryjnej włącza się tryb puli, w którym biblioteka utrzymuje kilka otwartych połączeń i wysyła nimi kolejne wiadomości zamiast logować się od nowa przy każdej - to jednocześnie sposób na dotrzymanie limitów dostawcy, bo można ograniczyć liczbę wiadomości na sekundę i na jedno połączenie. Biblioteka potrafi też podpisywać wiadomości kluczem DKIM po stronie aplikacji, niezależnie od serwera pocztowego. Komunikaty błędów i ich rzeczywiste przyczynyKod EAUTH oznacza odrzucone dane logowania - u dostawców z weryfikacją dwuetapową zwykłe hasło konta nigdy nie zadziała, trzeba wygenerować hasło aplikacji. Kod ECONNECTION albo ETIMEDOUT to najczęściej zapora lub operator blokujący wyjściowy ruch na porcie 25, rzadziej literówka w nazwie hosta. Komunikat o samopodpisanym certyfikacie w łańcuchu pojawia się na serwerach firmowych z własnym urzędem certyfikacji - obchodzenie go przez wyłączenie weryfikacji certyfikatu jest wygodne i jednocześnie otwiera drogę do podsłuchu, więc właściwym rozwiązaniem jest dodanie certyfikatu urzędu do zaufanych. Osobna kategoria to wiadomości wysłane technicznie poprawnie, a lądujące w spamie, bo adres w polu from nie zgadza się z domeną uwierzytelnioną na serwerze. Wdrożenia powiadomień w aplikacjach firmowychNajczęściej spotykamy tę bibliotekę w firmowych panelach i integracjach, które rozsyłają potwierdzenia zamówień, przypomnienia o płatnościach i raporty z bazy. Konfigurujemy dla nich wysyłkę, ustawiamy rekordy SPF i DKIM dla domeny, oddzielamy ruch transakcyjny od marketingowego i dokładamy obsługę błędów, żeby nieudana wysyłka nie ginęła w logach. Testujemy doręczenie u kilku dostawców poczty, bo zachowanie filtrów bywa u nich odmienne. |