NetSendo
Platform Updates

NetSendo v2.8.0: lepsza dostarczalność i darmowy GOLD

NetSendo Team7 min czytania

Mail, który nie trafia do skrzynki odbiorczej, nic nie zarabia. Często winny jest rekord DNS, który jest prawie poprawny: selektor DKIM, którego weryfikacja nigdy nie sprawdziła, rekord SPF, z którego zniknął Twój CRM, albo polityka DMARC tak restrykcyjna, że odrzuca Twoje własne subdomeny. Podobnie mogą rozjeżdżać się godziny wysyłki, gdy wiadomość, lista i konto mają różne strefy czasowe.

NetSendo v2.8.0 rozwiązuje te problemy. To wydanie przebudowuje Deliverability Shield, wprowadza jedną kolejność stref czasowych dla wszystkich wiadomości, tłumaczy resztę panelu i otwiera nowy program dla kontrybutorów. Jeśli dodajesz kod lub zgłaszasz problem bezpieczeństwa, możesz zdobyć darmową licencję NetSendo GOLD.

TL;DR: v2.8.0 to pięć głównych zmian:
  • Program dla kontrybutorów: scalone kontrybucje dają punkty, a punkty dają darmową licencję GOLD.
  • Selektory DKIM: możesz wpisać własny selektor, czego wymaga Amazon SES.
  • Bezpieczniejsze generatory: generator SPF zachowuje obecny rekord, a generator DMARC zaczyna od p=none.
  • Jedna zasada stref czasowych: każda godzina wysyłki jest liczona w kolejności Wiadomość → Lista → Grupa → Konto użytkownika.
  • Poprawki: naprawiono wiele błędów, m.in. strony podziękowania w lejkach sprzedażowych, adresy URL webhooków i bezpieczeństwo Reverb.

🚀 Co nowego w v2.8.0

GOLD dla kontrybutorów

NetSendo odwdzięcza się osobom, które go rozwijają. Opiekunowie oznaczają scalony pull request etykietą reward (1 punkt) lub reward-large (3 punkty). Potwierdzona podatność zgłoszona przez SECURITY.md również jest warta 3 punkty.

  • ✅ 1. punkt: 12 miesięcy GOLD
  • ✅ 2. punkt: kolejne 12 miesięcy
  • ✅ 3. punkt: GOLD bez daty końcowej

Liczą się także kontrybucje scalone przed startem programu. Aby odebrać licencję:

  1. Napisz na contact@netsendo.com. W ciągu kilku minut otrzymasz jednorazowy kod.
  2. Opublikuj kod jako komentarz na GitHubie, aby potwierdzić swoje konto.
  3. Następnie otrzymasz klucz licencyjny. Kolejne zdobyte punkty automatycznie przedłużają licencję.

Nowy workflow Contributor reward komentuje nagrodzone pull requesty. Działa bezpiecznie na pull_request_target i nigdy nie pobiera kodu pull requesta. EULA ma nowy §5.7 „Complimentary GOLD Licence”, który określa zasady. Licencja obejmuje jedną instalację i jest osobista. To podziękowanie, a nie zapłata, i nie obejmuje wsparcia GOLD opisanego w §12.3, chyba że przyznanie stanowi inaczej.

Przebudowany Deliverability Shield

🔑

Własny selektor DKIM

Amazon SES Easy DKIM używa selektorów-tokenów, których weryfikacja nie jest w stanie odgadnąć. Teraz możesz wpisać token albo wkleić pełną nazwę token._domainkey.example.com, a weryfikacja sprawdzi go jako pierwszy.

🛡️

Bezpieczniejszy DMARC

Generator zaczyna od p=none i proponuje quarantine, a potem reject jako kolejne kroki. Używa łagodnego dopasowania i zachowuje istniejący adres rua.

📜

SPF, który zachowuje Twoich nadawców

Generator dopisuje do obecnego rekordu include'y potrzebne Twoim dostawcom, zamiast go zastępować.

🟢

Plakietki, które robią się zielone

Plakietki statusu pokazują teraz faktyczny wynik. Przed tym wydaniem porównywały go z wartością, której weryfikacja nigdy nie zapisywała.

Typowy rekord z nowego generatora DMARC wygląda tak:

_dmarc.example.com  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

Stary generator używał ścisłego dopasowania (adkim=s; aspf=s). To psuło pocztę wysyłaną z subdomen i przez relaye podpisujące domeną nadrzędną.

Generator SPF rozpoznaje teraz relaye SMTP po hoście: Amazon SES, SendGrid, Google Workspace, Microsoft 365 i Mailgun. Jeśli nie rozpoznaje serwera, a domena nie ma rekordu SPF, prosi o include dostawcy, zamiast go zgadywać.

Naprawiono też kilka innych błędów Deliverability Shield:

  • Opublikowana polityka DMARC jest teraz zapisywana. Wcześniej domena z p=reject była pokazywana i oceniana jak p=none.
  • Rekordy DKIM bez opcjonalnego tagu v=DKIM1 są teraz rozpoznawane.
  • Popularne selektory Microsoft 365, Google, Mailchimp i SendGrid są teraz sprawdzane automatycznie.

Jedna zasada stref czasowych dla każdej wiadomości

Każda godzina w wiadomości jest teraz liczona w tej samej kolejności: Wiadomość → Lista → Grupa → Konto użytkownika. To jak hierarchia: wygrywa najbardziej szczegółowe ustawienie.

Przed tym wydaniem opcja Wybierz godzinę w wiadomościach kolejki była czytana w UTC, a zaplanowane broadcasty ignorowały strefy czasowe list i grup. Teraz obie korzystają z Message::resolveTimezone(). Jeśli wiadomość ma kilka list, decyduje lista o najniższym ID.

Pomoc przy wykrywaniu odpowiedzi w Gmailu

Jeśli Twoja skrzynka na odpowiedzi jest w Gmailu, panel pokazuje teraz potrzebne ustawienia: imap.gmail.com, port 993, SSL i pełny adres e-mail jako użytkownik. Przypomina też, że Gmail wymaga tu hasła aplikacji, a nie hasła do konta Google. Przycisk Uzupełnij ustawienia Gmail wpisuje te wartości za Ciebie.

API aktualizacji testów A/B

PUT/PATCH /api/v1/ab-tests/{id} działa teraz dla testów w wersji roboczej. Przed tym wydaniem każde wywołanie zwracało błąd 500. Trwający lub zakończony test zwraca 409.

curl -X PATCH https://your-netsendo.com/api/v1/ab-tests/42 \
  -H "Authorization: Bearer $NETSENDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Test tematu – v2"}'

💼 Korzyści i przypadki użycia

🛒

E-commerce: płatne lejki, które działają do końca

Po zapłacie przez Stripe, Polar lub Tpay kupujący w lejku sprzedażowym widzieli stronę 404 zamiast Twojej strony podziękowania. Teraz trafiają na właściwą stronę, więc Twoje sekwencje posprzedażowe ruszają zgodnie z planem.

🚀

SaaS: onboarding o właściwej godzinie

E-maile onboardingowe ustawione na 09:00 przychodzą teraz o 09:00 w strefie czasowej listy lub konta, a nie w UTC. Jeśli wysyłasz przez Amazon SES, możesz wpisać swój selektor-token i wreszcie zobaczyć zaliczony DKIM.

🏢

Agencje: wiele języków, wielu klientów

Błędy walidacji, komunikaty logowania i około 140 komunikatów backendu pojawiają się teraz po angielsku, polsku, niemiecku lub hiszpańsku. Twoi klienci nie widzą już surowych kluczy w rodzaju polar.settings_saved. Domyślne reguły lead scoringu każdego nowego konta mają też nazwy w języku właściciela.

🛠️ Aktualizacja krok po kroku

  1. Zrób kopię zapasową i pobierz obraz

    Uruchom docker compose pull && docker compose up -d. Trzy migracje wykonają się automatycznie: dkim_selector, poszerzenie webhooks.url do 2048 znaków i zmiana nazw reguł lead scoringu.

  2. Sprawdź godziny wysyłki w kolejce

    Subskrybenci zapisani po aktualizacji dostają godzinę z Wybierz godzinę w strefie czasowej wiadomości. Na przykład przy koncie w strefie Europe/Warsaw 09:00 oznacza teraz 09:00 czasu warszawskiego. Jeśli celowo ustawiłeś godzinę w UTC, ustaw ją ponownie w swojej strefie albo nadaj wiadomości strefę UTC.

  3. Dodaj selektory DKIM

    Otwórz Deliverability Shield → domena, wklej selektor dostawcy i uruchom weryfikację ponownie.

  4. Zabezpiecz Reverb

    Instalacje z wersji 2.7.2 lub starszych wciąż używają publicznych kluczy przykładowych. Zastąp je:

    openssl rand -hex 16   # dla REVERB_APP_KEY
    openssl rand -hex 16   # dla REVERB_APP_SECRET
    docker compose up -d

    Jeśli reverse proxy przekazuje /app/ do Reverb, ustaw też REVERB_BIND_ADDRESS=127.0.0.1 w nowym docker-compose.yml.

⚠️ Ważne: Już zaplanowane broadcasty zachowują zapisaną godzinę. Ale jeśli otworzysz i zapiszesz któryś z nich, jego data zostanie odczytana w nowej strefie czasowej, więc sprawdź ją przed zapisaniem.

🔧 Pozostałe poprawki

  • Możesz teraz wpisać klucz licencji GOLD, gdy aktywna jest licencja SILVER.
  • Przejdź na GOLD nie jest już blokowane przez 72 godziny po zamknięciu karty zamówienia, a rozpoczęty zakup można anulować.
  • Publiczny webhook aktywacyjny nie może już obniżyć GOLD do SILVER; takie żądanie zwraca teraz 409.
  • Licencja GOLD, której serwer usunął datę końcową, nie wygasa już lokalnie w starym terminie.
  • Domyślna skrzynka wybrana przy tworzeniu listy jest teraz zapisywana, a akceptowane są tylko skrzynki z Twojego konta.
  • Adresy URL webhooków mogą mieć do 2048 znaków. Wcześniej dłuższe adresy powodowały błąd 500 na MySQL. Ponowne włączenie webhooka zeruje jego licznik błędów.
  • DOCKER_INSTALL.md ma poprawione polecenia kopii zapasowej, a README.md podaje właściwy port instalacji, 5029.

🎯 Wskazówki eksperta

1
Zaostrzaj politykę DMARC krok po kroku

Zostań przy p=none przez 2–4 tygodnie i czytaj raporty rua. Przejdź na quarantine dopiero, gdy wszyscy legalni nadawcy przechodzą weryfikację.

2
Ustaw strefy czasowe na listach

Ustaw strefę czasową na każdej liście lub grupie, zwłaszcza na listach regionalnych, aby każda wiadomość dziedziczyła właściwą strefę.

3
Nie wystawiaj Reverb na publiczny interfejs

Za proxy powiąż Reverb z 127.0.0.1 i użyj REVERB_HOST_PORT, jeśli jego domyślny port koliduje z inną usługą.

4
Zgłaszaj podatności odpowiedzialnie

Potwierdzone zgłoszenie przez SECURITY.md jest warte 3 punkty, czyli wystarczająco na GOLD bez daty końcowej.

✅ Podsumowanie

v2.8.0 to bardziej wiarygodne weryfikacje dostarczalności, przewidywalne godziny wysyłki i w pełni przetłumaczony panel. Cały zestaw testów (729) przechodzi. Nowy program dla kontrybutorów pozwala też zdobyć darmową licencję GOLD, rozwijając samodzielnie hostowaną platformę, z której już korzystasz. Zachowujesz swoje dane i własną infrastrukturę wysyłkową, bez uzależnienia od dostawcy.

Gotowy na aktualizację?

Zaktualizuj swoją instalację Docker już dziś albo dołącz jako kontrybutor i zdobądź GOLD.

Sprawdź nasze integracje, aby połączyć Stripe, Polar, Tpay i inne usługi.

#release#deliverability#dkim#dmarc#spf#timezones#open-source
Udostępnij