2mail — relay SMTP z belgijskiej infrastruktury

SMTP dla Node.js — poczta z Państwa aplikacji, która dociera

Node.js nie ma wbudowanej funkcji pocztowej; praktycznie każda aplikacja używa do tego Nodemailera. Ta biblioteka ułatwia wysyłkę, ale nic nie mówi o dostarczalności: ta zależy w całości od serwera SMTP, przez który Państwo wysyłają.

Nodemailer pracuje z transportem. Tworzą Państwo transport SMTP z danymi swojego relaya — hostem, portem, szyfrowaniem i loginem — a reszta kodu zostaje bez zmian. To, co dziś wychodzi przez serwer lokalny albo konto testowe, jutro idzie przez 2mail.

Dlaczego bez relaya coś idzie nie tak

Aplikacja w Node.js wysyła pocztę zwykle w momencie, w którym to się liczy: kod weryfikacyjny, reset hasła, potwierdzenie rezerwacji. To wiadomości oczekiwane w ciągu kilku sekund. Gdy wychodzą z serwera bez reputacji, część z nich nie dociera albo dociera za późno — a użytkownik klika „wyślij ponownie”, aż się podda.

Konfiguracja SMTP w Node.js

1

Pobranie danych

Zaloguj się na swoje konto 2mail i pobierz stamtąd serwer SMTP, nazwę użytkownika oraz hasło.

2

Wpisanie w Node.js

Prosimy utworzyć w Nodemailerze transport SMTP. Jako host prosimy podać serwer SMTP 2mail, a jako port 587, i wyłączyć opcję secure, aby połączenie zostało podniesione przez STARTTLS. Pod auth prosimy wpisać nazwę użytkownika i hasło swojego loginu 2mail. Prosimy odczytywać te dane ze zmiennych środowiskowych, a nie z kodu. Nodemailer ma metodę verify do sprawdzenia połączenia, zanim wyślą Państwo pierwszą prawdziwą wiadomość — prosimy z niej skorzystać.

3

Uwierzytelnienie domeny

Zadbaj o poprawne ustawienie SPF, DKIM i DMARC dla swojej domeny, aby odbiorcy mogli zweryfikować, że wiadomość pochodzi od Ciebie.

4

Test

Wyślij wiadomość testową na adres u dużego dostawcy i sprawdź, czy trafia do skrzynki odbiorczej, a nie do spamu.

Pola, o które prosi Node.js

Każda platforma nazywa je nieco inaczej, ale zawsze chodzi o te same pięć. Konkretne wartości są powiązane z kontem i znajdą je Państwo na swoim koncie 2mail — prosimy je stamtąd przepisać, aby mieć pewność, że są właściwe.

Pole Co wpisać
Serwer SMTP (host)Nazwa serwera z Państwa konta 2mail.
PortPort odpowiadający wybranemu szyfrowaniu; Państwa konto pokazuje, który to.
SzyfrowanieTLS. Nigdy nie wysyłają Państwo bez szyfrowania — inaczej dane logowania idą przez sieć otwartym tekstem.
Nazwa użytkownikaLogin SMTP Państwa konta 2mail.
HasłoOdpowiadające mu hasło. Nigdy nie należy używać hasła do skrzynki pracownika.

Jakie wiadomości wysyła Node.js

Gdy relay jest już skonfigurowany, wszystkie idą przez 2mail — nie trzeba ich konfigurować pojedynczo.

Kody weryfikacyjne i potwierdzenia adresu przy rejestracji
Reset hasła i powiadomienia o logowaniu
Potwierdzenia rezerwacji, zamówień albo płatności
Powiadomienia z zadań w tle i kolejek
Raporty o błędach i komunikaty monitoringu do administratorów

Pułapki przy Node.js

secure i port muszą do siebie pasować

Opcja secure nie oznacza „bezpiecznie albo niebezpiecznie”, lecz „TLS od pierwszego bajtu”. Na porcie 587 secure powinno być wyłączone — STARTTLS następuje potem. Gdy mimo to je włączą, połączenie wisi albo zostaje od razu zerwane, bez wyraźnego błędu.

Jeden transport, używany wielokrotnie

Prosimy utworzyć transport raz przy starcie i używać go wielokrotnie, zamiast zakładać nowy przy każdej wiadomości. Przy skoku — rundzie przypomnień, kampanii — otworzą Państwo inaczej setki połączeń naraz, co relay może odczytać jako nadużycie. Nodemailer potrafi łączyć połączenia w pulę; prosimy to włączyć przy większych wolumenach.

Prosimy poczekać na wynik i go zalogować

Wysyłka jest asynchroniczna. Kto nie czeka na odpowiedź serwera albo jej nie loguje, nigdy nie zobaczy, że wiadomość została odrzucona. Prosimy logować co najmniej identyfikator wiadomości i ewentualne odrzucenie, a najlepiej podłączyć webhooki 2mail dla dostarczenia i odbicia, aby widzieć też, co psuje się po przekazaniu.

SPF, DKIM i DMARC wyjaśnione O dostarczalności

Inna platforma?

SMTP to protokół standardowy: każdy system, który mówi po SMTP — CRM, ERP, własna aplikacja albo serwer — może wysyłać przez 2mail z użyciem tych samych pięciu pól.

Najczęściej zadawane pytania o SMTP dla Node.js

Nodemailer wysyła, ale nie dostarcza dostarczalności: ta zależy od serwera SMTP, przez który Państwo wysyłają. Serwer lokalny albo świeża maszyna chmurowa nie ma uwierzytelniania ani reputacji, i wtedy część Państwa wiadomości weryfikacyjnych i odzyskiwania hasła ląduje w folderze ze spamem. Relay z SPF, DKIM i DMARC to rozwiązuje.
Prosimy utworzyć transport SMTP z hostem relaya, portem 587, wyłączonym secure (STARTTLS) i nazwą użytkownika oraz hasłem w auth. Te dane prosimy przechowywać w zmiennych środowiskowych. Prosimy wywołać metodę verify, aby przetestować połączenie, zanim wyślą Państwo pierwszą prawdziwą wiadomość.
Wyłączone. 2Mail działa na porcie 587: połączenie zaczyna się zwyczajnie i jest podnoszone do TLS przez STARTTLS. Jeśli mimo to włączą Państwo secure, klient oczekuje TLS od pierwszego bajtu i dostaną Państwo błąd połączenia albo połączenie, które wisi.
Przy istniejącym kodzie z Nodemailerem SMTP jest najszybszą drogą: zmienia się wyłącznie transport. Jeśli wysyłają Państwo duże wolumeny albo chcą przetwarzać status dostarczenia i odbicia we własnej aplikacji, API e-mail 2mail daje klucz API dla każdego zastosowania i podpisane webhooki. Oba mogą istnieć obok siebie.
Zadzwoń teraz
Wyślij e-mail