Listmonk z funkcją Forward Email do bezpiecznego dostarczania newsletterów

W tym przewodniku deweloperzy znajdą instrukcje krok po kroku dotyczące konfiguracji Listmonk, potężny menedżer newsletterów i list mailingowych typu open source, do wykorzystania Prześlij dalej e-mail jako dostawcy SMTP. Ta kombinacja pozwala na skuteczne zarządzanie kampaniami, zapewniając jednocześnie bezpieczne, prywatne i niezawodne dostarczanie wiadomości e-mail.

  • Listmonk:Zajmuje się zarządzaniem subskrybentami, organizacją list, tworzeniem kampanii i śledzeniem skuteczności.
  • Prześlij dalej e-mail: Działa jako bezpieczny serwer SMTP, obsługujący wysyłanie wiadomości e-mail przy użyciu wbudowanych funkcji bezpieczeństwa, takich jak SPF, DKIM, DMARC i szyfrowanie TLS.

Integrując te dwa rozwiązania, zachowujesz pełną kontrolę nad swoimi danymi i infrastrukturą, wykorzystując jednocześnie niezawodny system dostarczania wiadomości e-mail Forward Email.

  • Otwarte źródło: Zarówno Listmonk, jak i zasady Forward Email podkreślają przejrzystość i kontrolę. Sam hostujesz Listmonk, będąc właścicielem swoich danych.
  • Skupiony na prywatności:Prywatność jest priorytetem w projekcie Forward Email, który ogranicza do minimum retencję danych i kładzie nacisk na bezpieczną transmisję.
  • Opłacalny:Listmonk jest darmowy, a Forward Email oferuje hojne bezpłatne pakiety i niedrogie plany płatne, co czyni go przyjaznym dla budżetu rozwiązaniem.
  • Skalowalność:Listmonk jest niezwykle wydajny, a infrastruktura Forward Email została zaprojektowana z myślą o niezawodnym dostarczaniu wiadomości na dużą skalę.
  • Przyjazny dla programistów:Listmonk oferuje solidny interfejs API, a Forward Email zapewnia prostą integrację SMTP i webhooki.

Zanim zaczniesz, upewnij się, że masz następujące rzeczy:

  • Wirtualny serwer prywatny (VPS) działający na najnowszej dystrybucji Linuksa (zalecana wersja Ubuntu 20.04+) z co najmniej jednym procesorem i 1 GB pamięci RAM (zalecane 2 GB).
  • Nazwa domeny, którą kontrolujesz (wymagany dostęp DNS).
  • Aktywne konto z Prześlij dalej e-mail.
  • Korzeń lub sudo dostęp do Twojego VPS.
  • Podstawowa znajomość operacji wiersza poleceń systemu Linux.

Poniższe kroki przeprowadzą Cię przez proces instalacji Listmonk za pomocą Dockera i Docker Compose na Twoim VPS.

1. Zaktualizuj swój serwer

Upewnij się, że lista pakietów w Twoim systemie oraz zainstalowane pakiety są aktualne.

sudo apt update && sudo apt upgrade -y

2. Zainstaluj zależności

Zainstaluj Docker, Docker Compose i UFW (Uncomplicated Firewall).

sudo apt install -y docker.io docker-compose ufw

3. Pobierz konfigurację Listmonk

Utwórz katalog dla Listmonk i pobierz oficjalny docker-compose.yml plik.

mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml

Ten plik definiuje kontener aplikacji Listmonk i wymagany kontener bazy danych PostgreSQL.

4. Skonfiguruj zaporę sieciową (UFW)

Zezwól na niezbędny ruch (SSH, HTTP, HTTPS) przez zaporę. Jeśli Twój SSH działa na niestandardowym porcie, dostosuj odpowiednio.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Po wyświetleniu monitu potwierdź włączenie zapory.

5. Skonfiguruj dostęp HTTPS

Uruchomienie Listmonk przez HTTPS jest kluczowe dla bezpieczeństwa. Masz dwie podstawowe opcje:

Jeśli obsługą DNS Twojej domeny zajmuje się Cloudflare, możesz wykorzystać ich funkcję proxy, aby łatwo nawiązać połączenie HTTPS.

  1. Punkt DNS:Utwórz A rekord w Cloudflare dla swojej subdomeny Listmonk (np. listmonk.yourdomain.com) wskazując na adres IP Twojego VPS. Upewnij się, że Status proxy jest ustawiony na Zastępczy (pomarańczowa chmura).
  2. Modyfikuj Docker Compose:Edytuj docker-compose.yml plik, który pobrałeś:
    sed -i 's/9000:9000/80:9000/' docker-compose.yml
    
    Dzięki temu Listmonk staje się dostępny wewnętrznie na porcie 80, który Cloudflare może następnie przekierować do serwera proxy i zabezpieczyć za pomocą protokołu HTTPS.

Opcja B: Użycie odwrotnego serwera proxy (Nginx, Caddy itp.)

Alternatywą jest skonfigurowanie odwrotnego serwera proxy, takiego jak Nginx lub Caddy na Twoim VPS, który będzie obsługiwał zakończenie protokołu HTTPS i żądania proxy kierowane do Listmonk (domyślnie działającego na porcie 9000).

  • Zachowaj ustawienia domyślne ports: - "127.0.0.1:9000:9000" W docker-compose.yml aby zapewnić dostęp do Listmonka wyłącznie lokalnie.
  • Skonfiguruj wybrany serwer proxy odwrotny tak, aby nasłuchiwał na portach 80 i 443, obsługiwał pozyskiwanie certyfikatów SSL (np. za pośrednictwem Let's Encrypt) i przekierowywał ruch do http://127.0.0.1:9000.
  • Szczegółowy opis konfiguracji odwrotnego serwera proxy wykracza poza zakres tego przewodnika, ale wiele samouczków jest dostępnych w Internecie.

6. Uruchom Listmonk

Wróć do swojego listmonk katalogu (jeśli jeszcze tam nie jesteś) i uruchom kontenery w trybie odłączonym.

cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d

Docker pobierze niezbędne obrazy i uruchomi aplikację Listmonk oraz kontenery bazy danych. Za pierwszym razem może to potrwać minutę lub dwie.

Dostęp do Listmonk: Teraz powinieneś mieć możliwość dostępu do interfejsu internetowego Listmonk za pośrednictwem skonfigurowanej domeny (np. https://listmonk.yourdomain.com).

7. Skonfiguruj przekierowanie poczty e-mail SMTP w Listmonk

Następnie skonfiguruj Listmonk tak, aby wysyłał wiadomości e-mail za pomocą konta Forward Email.

  1. Włącz SMTP w przekazywaniu wiadomości e-mail: Upewnij się, że wygenerowałeś dane uwierzytelniające SMTP w panelu konta Forward Email. Postępuj zgodnie z Przewodnik Forward Email dotyczący wysyłania wiadomości e-mail z niestandardową domeną za pośrednictwem SMTP jeśli jeszcze tego nie zrobiłeś.
  2. Konfigurowanie Listmonk: Zaloguj się do panelu administracyjnego Listmonk.
    • Przejdź do Ustawienia -> SMTP.

    • Listmonk ma wbudowaną obsługę Forward Email. Wybierz Przekaż dalejE-mail z listy dostawców lub ręcznie wprowadź następujące dane:

      UstawienieWartość
      Gospodarzsmtp.forwardemail.net
      Port465
      Protokół uwierzytelnianiaLOGIN
      Nazwa użytkownikaTwój e-mail do przekazania Nazwa użytkownika SMTP
      HasłoTwój e-mail do przekazania hasło SMTP
      TLSSSL/TLS
      Z poczty elektronicznejTwoje pożądane From adres (np. newsletter@yourdomain.com). Upewnij się, że ta domena jest skonfigurowana w Forward Email.
    • Ważny: Zawsze używaj portu 465 z SSL/TLS dla bezpiecznych połączeń z Forward Email. Nie używaj STARTTLS (port 587).

    • Trzask Zapisać.

  3. Wyślij e-mail testowy: Użyj przycisku „Wyślij testowy e-mail” na stronie ustawień SMTP. Wprowadź adres odbiorcy, do którego masz dostęp i kliknij Wysłać. Sprawdź, czy wiadomość e-mail dotarła do skrzynki odbiorczej odbiorcy.

8. Skonfiguruj przetwarzanie odrzuceń

Przetwarzanie odrzuceń pozwala Listmonk na automatyczne przetwarzanie wiadomości e-mail, których nie można było dostarczyć (np. z powodu nieprawidłowych adresów). Forward Email udostępnia webhook do powiadamiania Listmonk o odrzuceniach.

Konfiguracja przesyłania dalej wiadomości e-mail

  1. Zaloguj się do swojego Panel przesyłania wiadomości e-mail.
  2. Przejdź do Domeny, wybierz domenę, której używasz do wysyłania i przejdź do niej Ustawienia strona.
  3. Przewiń w dół do Adres URL webhooka Bounce sekcja.
  4. Wprowadź następujący adres URL, zastępując <your_listmonk_domain> z rzeczywistą domeną lub subdomeną, w której dostępna jest Twoja instancja Listmonk:
    https://<your_listmonk_domain>/webhooks/service/forwardemail
    
    Przykład: https://listmonk.yourdomain.com/webhooks/service/forwardemail
  5. Przewiń w dół dalej, aby Klucz weryfikacyjny ładunku podpisu webhook sekcja.
  6. Kopiuj wygenerowany klucz weryfikacyjny. Będziesz go potrzebować w Listmonk.
  7. Zapisz zmiany w ustawieniach domeny przekazywania poczty e-mail.

Konfiguracja Listmonk

  1. W panelu administracyjnym Listmonk przejdź do Ustawienia -> Odbicia.
  2. Włączać Włącz przetwarzanie odrzuceń.
  3. Włączać Włącz odrzucane webhooki.
  4. Przewiń w dół do Dostawcy webhooków sekcja.
  5. Włączać Prześlij dalej e-mail.
  6. Wklej Klucz weryfikacyjny ładunku podpisu webhook skopiowałeś z pulpitu Przekaż dalej e-mail do Przekaż dalej e-mail pole.
  7. Trzask Zapisać na dole strony.
  8. Przetwarzanie odrzuceń jest teraz skonfigurowane! Gdy Forward Email wykryje odrzucenie wiadomości e-mail wysłanej przez Listmonk, powiadomi Twoją instancję Listmonk za pośrednictwem webhooka, a Listmonk odpowiednio oznaczy subskrybenta.
  9. Wykonaj poniższe kroki w Testowanie aby upewnić się, że wszystko działa.

Oto krótki przegląd podstawowych funkcji Listmonk:

Utwórz listę mailingową

  • Iść do Listy na pasku bocznym.
  • Trzask Nowa lista.
  • Wypełnij szczegóły (nazwa, typ: publiczny/prywatny, opis, tagi) i Zapisać.

Dodaj subskrybentów

  • Przejdź do Subskrybenci sekcja.
  • Możesz dodać subskrybentów:
    • Ręcznie: Kliknij Nowy abonent.
    • Import: Kliknij Importuj subskrybentów aby przesłać plik CSV.
    • API: Użyj interfejsu API Listmonk do dodawania programowego.
  • Przypisz subskrybentów do jednej lub większej liczby list podczas ich tworzenia lub importowania.
  • Najlepsze praktyki: Użyj procesu podwójnej zgody. Skonfiguruj to w Ustawienia -> Opt-in i subskrypcje.

Utwórz i wyślij kampanię

  • Iść do Kampanie -> Nowa kampania.
  • Wypełnij szczegóły kampanii (nazwa, temat, adres e-mail nadawcy, lista(y) do wysłania).
  • Wybierz typ treści (Rich Text/HTML, Plain Text, Raw HTML).
  • Utwórz treść swojego e-maila. Możesz użyć zmiennych szablonu, takich jak {{ .Subscriber.Email }} lub {{ .Subscriber.FirstName }}.
  • Zawsze najpierw wyślij e-mail testowy! Użyj opcji „Wyślij test”, aby wyświetlić podgląd wiadomości e-mail w skrzynce odbiorczej.
  • Po spełnieniu warunków kliknij Rozpocznij kampanię aby wysłać natychmiast lub zaplanować wysłanie na później.

  • Dostarczanie SMTP: Regularnie wysyłaj wiadomości testowe za pośrednictwem strony ustawień SMTP Listmonk i testuj kampanie, aby mieć pewność, że wiadomości e-mail są dostarczane poprawnie.
  • Obsługa odbić: Wyślij kampanię testową na znany nieprawidłowy adres e-mail (np. bounce-test@yourdomain.com jeśli nie masz prawdziwego pod ręką, choć wyniki mogą się różnić). Sprawdź statystyki kampanii w Listmonk po chwili, aby zobaczyć, czy odrzucenie zostało zarejestrowane.
  • Nagłówki wiadomości e-mail:Używaj narzędzi takich jak Tester poczty lub ręcznie sprawdź nagłówki wiadomości e-mail, aby upewnić się, że SPF, DKIM i DMARC są akceptowane, co wskazuje na prawidłową konfigurację funkcji przekazywania wiadomości e-mail.
  • Przekaż dalej dzienniki e-mail: Sprawdź logi w panelu Forward Email, jeśli podejrzewasz, że problemy z dostarczaniem wiadomości mają swoje źródło na serwerze SMTP.

  • Szablonowanie:Listmonk używa silnika szablonów Go. Przeglądaj jego dokumentację, aby uzyskać zaawansowaną personalizację: {{ .Subscriber.Attribs.your_custom_field }}.
  • API: Listmonk zapewnia kompleksowe API REST do zarządzania listami, subskrybentami, kampaniami, szablonami i nie tylko. Znajdź łącze do dokumentacji API w stopce swojej instancji Listmonk.
  • Pola niestandardowe: Zdefiniuj pola niestandardowego subskrybenta w Ustawienia -> Pola subskrybenta do przechowywania dodatkowych danych.
  • Haki internetowe:Oprócz odrzuceń Listmonk może wysyłać webhooki dla innych zdarzeń (np. subskrypcji), co umożliwia integrację z innymi systemami.

Integrując samodzielnie hostowaną moc Listmonk z bezpieczną, respektującą prywatność dostawą Forward Email, tworzysz solidną i etyczną platformę marketingu e-mailowego. Zachowujesz pełną własność danych odbiorców, jednocześnie korzystając z wysokiej dostarczalności i zautomatyzowanych funkcji bezpieczeństwa.

Taka konfiguracja zapewnia skalowalną, opłacalną i przyjazną dla deweloperów alternatywę dla zastrzeżonych usług poczty e-mail, doskonale wpisując się w ideę oprogramowania typu open source i prywatność użytkowników.

Szczęśliwego wysyłania! 🚀