Zgłoszenie przyszło w typowy dla takich problemów sposób: bez konkretów. Niektórzy klienci nie dostawali naszych odpowiedzi. Użytkownicy Gmaila nie mieli problemów. Co jakiś czas wiadomość wracała z adnotacją niedostarczona. A jeden dostawca, hurtownia, w której sklep robi zakupy, mógł bez problemu pisać do sklepu, ale sklep nie mógł mu odpowiedzieć.

Chodzi o niewielki sklep specjalistyczny, którym się opiekujemy. Jedna wspólna skrzynka firmowa z wieloletnią historią, kilka osób czytających pocztę na komputerach i telefonach oraz sklep internetowy wysyłający potwierdzenia zamówień z tego samego adresu. Nikt nie chce tam zaprzątać sobie głowy pocztą. Ma po prostu docierać.

Opisujemy, jak rozwiązaliśmy ten problem: bez danych pozwalających rozpoznać firmę, za to z kolejnymi krokami, pułapkami, które ominęliśmy, i kontrolami, które zalecamy po każdej takiej przeprowadzce. W skrócie: przenieśliśmy skrzynkę do Google Workspace, a stronę zostawiliśmy na dotychczasowym hostingu, zmieniając tylko jej ustawienia poczty. Warto jednak poznać całą historię, bo większość pracy pochłonęły szczegóły wymagające dodatkowego dopracowania: przełączenie DNS, dziesiątki tysięcy starych wiadomości, folder Wysłane i powiadomienia z samego sklepu.

39 840wiadomości w starej skrzynce
13 GBrozmiar starej skrzynki
27folderów w starej skrzynce
0utraconych wiadomości
1 959powiadomień sklepu przeniesionych z Wysłanych
0przeprowadzek strony na inny hosting

Skąd pochodzą liczby

Każda liczba w tym artykule pochodzi z samej migracji: z listy folderów starej skrzynki, logów naszego importera i końcowego raportu weryfikacji, którą przeprowadziliśmy etykieta po etykiecie. Nazwy, domeny i wszystko, co mogłoby wskazywać na konkretną firmę, usunęliśmy lub zastąpiliśmy przykładowymi danymi. Tempo i czasy trwania są tam, gdzie się pojawiają, oznaczone jako przybliżone.

Wszystkie testy wypadały dobrze, a poczta wciąż znikała

Pierwsze, co zwykle się sprawdza, to uwierzytelnianie, więc od tego też zaczęliśmy. SPF przechodził poprawnie. DKIM też. DMARC również, z polityką p=none, która prosi odbiorców, by w ogóle nie podejmowali działań w razie niepowodzenia kontroli DMARC. Na papierze domena była skonfigurowana prawidłowo, a problemy trwały od miesięcy mimo pozytywnych wyników tych kontroli.

Przyczyna tkwiła o poziom dalej. Wszystko, z czego korzystał sklep (DNS domeny, strona i skrzynka), znajdowało się u jednego dostawcy hostingu współdzielonego. Poczta wychodząca nie była wysyłana z własnego serwera sklepu. Przechodziła przez współdzielony serwer pośredniczący dostawcy, jeden z tej samej niewielkiej grupy serwerów, przez które wysyła pocztę wielu innych klientów. A adres serwera przekazującego wiadomości sklepu znalazł się na publicznej liście blokad antyspamowych.

Sposób dostarczania wiadomości pasował do tego wpisu: odbiorcy korzystający z takich list odrzucają pocztę z umieszczonego na nich adresu lub kierują ją do spamu, niezależnie od poprawności podpisu, podczas gdy Gmail opiera się głównie na własnych danych o reputacji. Nie widzieliśmy samego komunikatu odrzucenia z hurtowni, ale po jej stronie wszystko zachowywało się dokładnie tak, jak przy filtrze korzystającym z tej listy.

Problemem nigdy nie było uwierzytelnianie. Była nim reputacja współdzielonego serwera pośredniczącego.

Schemat drogi poczty sklepu przed przeprowadzką i po niej. Przed: poczta sklepu i zespołu przechodziła testy SPF, DKIM i DMARC, ale wychodziła przez współdzielony serwer pośredniczący hostingu, którego IP było na publicznej liście blokad. Gmail ją dostarczał, hurtownia odrzucała, a inni dostawcy kierowali do spamu lub odsyłali zwrotki. Po: zespół w Gmailu i sklep przez serwer pośredniczący SMTP wysyłają przez Google Workspace, z podpisem domeny sklepu, a wszyscy odbiorcy dostają wiadomości.

Uwierzytelnianie to nie reputacja

SPF wskazuje, które serwery mogą wysyłać pocztę w imieniu twojej domeny, DKIM potwierdza, że wiadomość została podpisana przez twoją domenę, a DMARC sprawdza ich zgodność z adresem w polu Od (From). Żaden z tych mechanizmów nie mówi serwerowi odbierającemu, czy chce on przyjmować pocztę z maszyny, która ją dostarczyła. Przy poczcie na hostingu współdzielonym dzielisz z innymi klientami zarówno adres serwera wysyłającego, jak i jego reputację.

Co oznaczały poszczególne objawy w tym przypadku.
ObjawCo oznaczał
Odbiorcy na Gmailu dostają nasze wiadomości, inni nieOdbiorcy korzystają z różnych źródeł danych o reputacji. Wpis na liście blokad szkodzi na serwerach, które z niej korzystają.
Sporadyczne zwrotki z informacją „niedostarczona”Odrzucenia na serwerze odbiorcy. Treść zwrotki często podaje przyczynę, dlatego to od niej warto zacząć.
Hurtownia może do nas pisać, my nie możemy odpowiedziećJej filtr poczty przychodzącej odrzuca nasz serwer pośredniczący. Poczta przychodząca biegnie inną drogą, więc nadal działa.
SPF, DKIM i DMARC przechodzą poprawnieUwierzytelnianie domeny było w porządku. Słabym ogniwem była infrastruktura wysyłkowa.
„Tak jest od miesięcy”Serwer pośredniczący należy do dostawcy, więc to on decyduje, kiedy problem zostanie rozwiązany. Wpisy na listach wygasają i mogą wracać. Sklep mógł czekać albo skierować pocztę inną drogą.

Jeśli chcesz przeprowadzić taką samą diagnostykę swojej domeny, te polecenia pozwolą ci sprawdzić większość rzeczy. Adres IP odczytasz z wiersza Received:, który serwer odbierający dodał do wiadomości wysłanej przez ciebie na twój własny adres Gmail (otwórz ją, a następnie wybierz Pokaż oryginał (Show original)).

# Kto odbiera twoją pocztę i co mówią SPF oraz DMARC?
dig +short MX example-shop.com
dig +short TXT example-shop.com | grep -i spf
dig +short TXT _dmarc.example-shop.com

# Czy serwer, który wysłał twoją wiadomość, jest na liście blokad?
# To tylko przykład: odwróć rzeczywisty adres IP nadawcy, 203.0.113.25 staje się 25.113.0.203
dig 25.113.0.203.bl.spamcop.net A +noall +comments +answer
# status NOERROR z 127.0.0.2 = na liście; status NXDOMAIN = w tej chwili poza listą;
# SERVFAIL, REFUSED lub przekroczenie czasu oczekiwania = brak odpowiedzi, użyj wyszukiwarki na stronie samej listy

Jedna praktyczna uwaga: niektóre listy blokad, w tym Spamhaus, odmawiają odpowiedzi na zapytania przechodzące przez duże publiczne resolwery DNS i zamiast tego zwracają kod błędu. Poza tym takie zapytanie sprawdza jedną listę w danym momencie, a nie całą dostarczalność twojej poczty.

Dlaczego przenieśliśmy pocztę i tylko pocztę

Poczta i hosting strony to osobne usługi, które po prostu często sprzedaje się razem. Przenoszenie strony to projekt z ryzykiem przestoju, rozgrzewaniem pamięci podręcznej i wieloma zależnymi elementami. Przenoszenie poczty to zmiana DNS i import. Strona sklepu działała, więc zostawiliśmy ją na dotychczasowym hostingu i rozwiązaliśmy problem, który faktycznie doskwierał.

Rozważyliśmy cztery możliwości:

Opcje, które rozważyliśmy dla jednej wspólnej skrzynki firmowej.
OpcjaDlaczego pasowała lub nie
Zostać i poprosić dostawcę hostingu o naprawęWarto zapytać, ale współdzielony serwer pośredniczący i jego reputacja pozostają w rękach dostawcy. Wpis, który zniknie dziś, może wrócić za miesiąc.
Własny serwer pocztowy na VPSPełna kontrola, ale nowy adres IP nie ma jeszcze reputacji, wielu dostawców VPS ogranicza lub blokuje ruch wychodzący na porcie 25, a ktoś musi stale instalować poprawki i pilnować serwera. Zbyt duży koszt obsługi dla jednej skrzynki.
Microsoft 365Jak najbardziej dobry wybór: mocna reputacja wysyłkowa, dopracowane filtrowanie spamu, środowisko zbudowane wokół Outlooka.
Google WorkspaceMocna reputacja wysyłkowa i filtrowanie spamu, interfejs poczty, z którego zespół już korzystał na telefonach, wbudowany import, usługa przekazywania SMTP dla poczty sklepu i weryfikacja dwuetapowa (2-Step Verification). Jeden płatny użytkownik dla wspólnego adresu firmowego.

Polecilibyśmy obie te duże usługi. Wybraliśmy Workspace z prostego powodu: osoby korzystające ze skrzynki znały już Gmaila, a im mniej mały zespół musi się uczyć, tym szybciej przyzwyczai się do zmiany.

Pułapka przy zakupie

Zanim zaczęliśmy, właściciel sklepu zdążył już w dobrej wierze opłacić plan Google. Tyle że niewłaściwy: plany takie jak przestrzeń dyskowa Google One czy Workspace Individual nie obsługują poczty we własnej domenie, więc taki plan nigdy nie odebrałby ani jednej wiadomości wysłanej na adres firmowy. Poczta w domenie wymaga subskrypcji Workspace dla firm ze zweryfikowaną domeną. Sprawdź, za co płacisz, i anuluj niewłaściwy plan w okresie próbnym.

Zostawiliśmy też skrzynkę firmową jako osobnego użytkownika Workspace, zamiast łączyć ją z czyimkolwiek kontem prywatnym. Adres firmowy działający w czyimś prywatnym Gmailu trudno przekazać, skontrolować i odzyskać, gdy ta osoba odchodzi. Jeśli kilka osób potrzebuje własnego logowania zamiast jednego wspólnego, delegowanie dostępu w Gmailu pozwala im pracować we wspólnej skrzynce z własnych kont. O dostępie pisaliśmy w artykule o tym, co się dzieje, gdy pracownik odchodzi, a jego dostęp zostaje.

Zanim ruszysz DNS: przygotowanie

Samo przełączenie zajmuje kilka minut. Od przygotowania zależy, czy te minuty będą nudne, czy nerwowe.

  • Zapisz stan całej strefy DNS. Wyeksportuj ją lub zapisz każdy rekord, żeby móc dokładnie odtworzyć poprzednie wpisy. Pamiętaj, że cofnięcie zmian wpływa tylko na miejsce dostarczania nowych wiadomości: wszystko, co w międzyczasie dotarło do Google, tam zostanie.
  • Spisz wszystkie adresy, na które przychodzi poczta. Skrzynki, aliasy, przekierowania, grupy, reguły catch-all. Gdy rekord MX wskaże Google, każdy z tych adresów musi istnieć również tam, inaczej poczta będzie wracać do nadawców. W tym sklepie była tylko jedna skrzynka i nic więcej, więc lista była krótka.
  • Spisz wszystko, co wysyła pocztę w imieniu twojej domeny. Programy pocztowe na komputerach i telefonach, sklep internetowy (potwierdzenia zamówień, formularz kontaktowy, resetowanie haseł), narzędzia do fakturowania, konta na platformach marketplace. Każdy z tych elementów musi działać po przełączeniu.
  • Dzień wcześniej obniż TTL rekordu MX do 300 sekund. MX sklepu miał TTL wynoszący cztery godziny, co oznaczało, że inne serwery pocztowe mogły pamiętać stary adres docelowy jeszcze przez cztery godziny po zmianie.
  • Dodaj rekord TXT weryfikacji Google i dokończ aktywację Gmaila w konsoli administracyjnej (Admin console). Rekord weryfikacyjny znajduje się obok rekordu SPF. Domena może mieć wiele rekordów TXT, ale tylko jeden z nich może być rekordem SPF.
  • Włącz weryfikację dwuetapową dla administratora Workspace i użytkownika skrzynki oraz schowaj kody zapasowe w bezpiecznym miejscu, zanim poczta zacznie napływać.

Przełączenie, rekord po rekordzie

Oto wprowadzone zmiany. Nazwy używane w sklepie zastąpiliśmy przykładowymi.

Zmiany DNS w chwili przełączenia.
RekordPrzedPoDlaczego
MX @Dwa hosty MX poprzedniego dostawcy1 smtp.google.comObecny pojedynczy rekord MX Google. Usuń wszystkie stare rekordy MX, nie mieszaj ich z nowym.
TXT @ (SPF)Rekord SPF poprzedniego dostawcyTen sam rekord z dodanym include:_spf.google.comRozwiązanie przejściowe. Stare programy pocztowe i sklep jeszcze przez kilka dni wysyłały pocztę przez stary serwer.
TXT google._domainkeybrakKlucz o długości 2 048 bitów z konsoli administracyjnejPodpisy DKIM we własnej domenie.
TXT _dmarcv=DMARC1; p=none i adres do raportówpoczątkowo bez zmianNajpierw przeczytaj raporty, potem zaostrz politykę.
CNAME autoconfig, autodiscoverWskazywały poprzedniego dostawcęusunięteInaczej Thunderbird i Outlook konfigurują każde nowe urządzenie do pracy ze starym serwerem.

W rekordzie SPF zachowaj wszystkie mechanizmy, których nadal potrzebują aktywni nadawcy, i dopisz obok nich include Google. Obowiązuje jeden rekord SPF dla danej nazwy i nie więcej niż dziesięć zapytań DNS łącznie po uwzględnieniu wszystkich include.

Dwa szczegóły zasługują na osobny akapit. Po pierwsze, klucz DKIM jest dłuższy niż 255 znaków, które może pomieścić pojedynczy ciąg tekstowy DNS. Nadal musi to być jeden rekord TXT: niektóre panele DNS automatycznie dzielą go na kilka ciągów w cudzysłowach w obrębie tego rekordu, w innych musisz zrobić to samodzielnie. Porównaj opublikowaną wartość z konsolą administracyjną znak po znaku, a następnie kliknij Rozpocznij uwierzytelnianie (Start authentication) w sekcji Aplikacje, Google Workspace, Gmail, Uwierzytelniaj pocztę e-mail (Apps > Google Workspace > Gmail > Authenticate email). Na zupełnie nowym koncie Workspace Google może potrzebować co najmniej doby, zanim pozwoli wygenerować klucz.

Po drugie, nie polegaj na własnym resolwerze przy sprawdzaniu, czy przełączenie się udało. Zapytaj bezpośrednio każdy autorytatywny serwer nazw:

# Zapytaj każdy serwer nazw domeny, jaki rekord MX obecnie zwraca
for ns in $(dig +short NS example-shop.com.); do
  printf '%s\n' "$ns"
  dig @"$ns" example-shop.com. MX +norecurse +noall +comments +answer
done
# W każdym bloku szukaj flagi "aa" (odpowiedź autorytatywna) i nowego rekordu MX

Gdy to sprawdziliśmy, jeden serwer nazw zaczął zwracać Google w ciągu kilku sekund. Pozostałe trzy jeszcze przez około dwadzieścia minut podawały stary MX, z tym samym numerem seryjnym strefy. Nigdy nie ustaliliśmy dlaczego. Gdybyśmy sprawdzili tylko własny resolwer, uznalibyśmy sprawę za zamkniętą i przeoczylibyśmy dwadzieścia minut, podczas których poczta wciąż szła starą drogą.

Jeden serwer nazw odpowiadał adresem Google po kilku sekundach. Pozostałe trzy potrzebowały około dwudziestu minut.

Oś czasu zmiany DNS: dzień wcześniej TTL rekordu MX obniżono z 14 400 do 300 sekund. Przy przełączeniu rekord MX ustawiono na smtp.google.com i zmieniono rekordy SPF, DKIM oraz autoconfig. Potem nastąpił okres współistnienia z ostatnim importem. Końcowe porządki obejmują usunięcie starego hostingu z SPF. Wykres z osobnymi wierszami pokazuje, że jeden z czterech serwerów nazw od razu odpowiadał adresem Google, a pozostałe trzy podawały stary MX jeszcze przez około dwadzieścia minut.

Licz się też z opóźnionymi dostarczeniami. Serwery pocztowe, które sprawdziły stary MX przed zmianą lub miały wiadomości w kolejce do ponownej próby, mogą jeszcze przez pewien czas dostarczać je do starej skrzynki. Dlatego w okresie przejściowym utrzymuj obie skrzynki, obserwuj starą i ponawiaj import, aż przestaną trafiać do niej nowe wiadomości. W panelach hostingowych takich jak cPanel sprawdź też ustawienie routingu poczty dla domeny: jeśli konto hostingowe nadal uważa, że obsługuje pocztę domeny, wiadomości wysyłane ze strony na twój własny adres mogą trafić lokalnie do starej skrzynki.

Jak przenieść 40 000 wiadomości i nie zgubić ani jednej

Stara skrzynka zawierała 39 840 wiadomości w 27 folderach, łącznie około 13 GB, z wielu lat: faktury od dostawców, zamówienia z platform marketplace, powiadomienia od kurierów, rozmowy z klientami. Utrata czegokolwiek nie wchodziła w grę, podobnie jak tydzień z folderami zaimportowanymi do połowy.

Import to łatwa część. Dopiero weryfikacja pozwala powiedzieć, że nic nie zginęło.

Schemat weryfikacji: 39 840 wiadomości w starej skrzynce minus 149 w Spamie i Koszu, świadomie pominiętych w imporcie, minus 2 złośliwe wiadomości odrzucone przez Google daje 39 689 oczekiwanych w Gmailu. Znaleziono 39 689, etykieta po etykiecie, więc utracono 0. Dodatkowe liczby: 927 wiadomości z poprawioną datą, 103 usunięte nadmiarowe kopie, 530 przywróconych gwiazdek.

Zaczęliśmy od wbudowanego narzędzia migracji danych Google, które łączy się ze starym serwerem przez IMAP i kopiuje wszystko do nowej skrzynki. Działa, ale przy tej skrzynce miało trzy problemy:

  • Szybkość. Około 2 400 wiadomości na godzinę, co dla tej skrzynki oznaczało ponad szesnaście godzin. Z tego, co mogliśmy zaobserwować, narzędzie pobierało jedną wiadomość na sesję IMAP i nie udostępniało ustawienia szybkości.
  • Braki. Przy kilku folderach pojawił się komunikat „crawl failure” z wewnętrznym błędem synchronizacji, a zalecenie sprowadzało się do ponownego uruchomienia migracji później.
  • Błędne daty. 925 wiadomości pochodziło od jednego nadawcy, którego system pocztowy zapisuje nieprawidłowy nagłówek Date (sekundy bez zera na początku i brak strefy czasowej, na przykład 2 Apr 2024 18:36:4), a dwie kolejne w ogóle nie miały nagłówka Date. Migracja przypisała im czas importu, więc wiadomości sprzed lat pojawiły się na górze skrzynki odbiorczej, jakby przyszły tego ranka.

Dokończyliśmy więc pracę własnym importerem, opartym na API importu Gmaila, nad którym mieliśmy pełną kontrolę:

  • Źródło tylko do odczytu. Starą skrzynkę otwieraliśmy w trybie tylko do odczytu, a każdą wiadomość pobieraliśmy bez ustawiania flagi „seen”. Na starym serwerze nic się nie zmieniło, więc nadal stanowił sprawny wariant awaryjny.
  • Pomijanie tego, co już dotarło. Każdą wiadomość sprawdzaliśmy po Message-ID wśród wiadomości obecnych w Gmailu, dzięki czemu importer nie kopiował tego, co przeniosła już migracja Google.
  • Foldery stają się etykietami. Stary folder taki jak INBOX.Invoices stawał się etykietą Gmaila Invoices, więc zespół znajdował wszystko tam, gdzie się spodziewał.
  • Możliwość wznowienia. Plik stanu zapisywał postęp, więc po przerwaniu można było wznowić pracę bez zaczynania od nowa.
  • Własna data wiadomości. Wiadomości z prawidłowym nagłówkiem Date zajmowały miejsce w chronologii zgodnie z nim, a nie z dniem importu.

Trzy rzeczy, których nauczyliśmy się po drodze

Po początkowym zrywie import zwalnia. U nas ustabilizował się na poziomie około 50 wiadomości na minutę dla tego konta. Planuj import w godzinach, nie minutach, i pozwól mu działać przez noc.

Podczas tej migracji Gmail zastąpił część źródłowych Message-ID, między innymi te z jednej platformy marketplace, więc sprawdzanie po Message-ID nie wychwyciło części kopii utworzonych przez oba importy. Dlatego przy końcowej weryfikacji dopasowywaliśmy wiadomości w każdej etykiecie po zdekodowanej dacie, temacie i nadawcy. Znaleźliśmy 103 nadmiarowe kopie. Potwierdziliśmy, że to nasze kopie (po czasie dostarczenia przez nasz importer), i przenieśliśmy je do Kosza, skąd można je odzyskać przez 30 dni. Dopasowywanie po nagłówkach może też połączyć dwie różne wiadomości o tych samych polach, dlatego sprawdź wynik, zanim cokolwiek na tej podstawie usuniesz.

Każdą z 927 wiadomości z błędną datą zaimportowaliśmy ponownie z poprawionym nagłówkiem Date. Daty bez strefy czasowej odczytaliśmy w strefie czasowej sklepu, pierwotną wartość zachowaliśmy w dodatkowym nagłówku, a dwie wiadomości bez żadnej daty otrzymały czas przyjęcia zapisany przez stary serwer. Dopiero po sprawdzeniu wyniku przenieśliśmy nieprawidłowe kopie do Kosza.

Weryfikacja stojąca za „0 utraconych”: każda stara wiadomość dopasowana do kopii w Gmailu, etykieta po etykiecie.
PozycjaWiadomości
W starej skrzynce39 840
Foldery Spam i Kosz, pominięte świadomie przy imporcie149
Odrzucone przez Google jako złośliwe oprogramowanie (załączniki phishingowe), świadomie pominięte2
Oczekiwane w Gmailu39 689
Znalezione w Gmailu podczas końcowej weryfikacji39 689
Zaimportowane naszym importerem, z uwzględnieniem ostatniego przebiegu23 233
Nadmiarowe kopie znalezione i przeniesione do Kosza103
Z poprawioną datą (925 błędnych nagłówków Date, 2 brakujące)927
Utracone0

Jeszcze jeden szczegół, który widać już pierwszego dnia: flagi. Oznaczenia gwiazdką nie przeniosły się podczas importu, a zespół, który od lat używa gwiazdek jako listy zadań, od razu zauważa ich brak. Dopasowaliśmy 530 oznaczonych wiadomości ze starej skrzynki do ich kopii w Gmailu i ponownie dodaliśmy im gwiazdki.

Folder Wysłane wymagał osobnego planu

Po samej dostarczalności to na tej części najbardziej zależało właścicielowi sklepu. Po przejściu do Gmaila z folderem Wysłane pojawiły się trzy osobne problemy.

1. Gmail sam zdecydował, co uznać za wysłane

W tej skrzynce każda zaimportowana wiadomość z jej własnego adresu pojawiała się w folderze Wysłane. Później zaobserwowaliśmy to samo przy kopiach dostarczanych przez serwer pośredniczący. Po imporcie dotyczyło to także wieloletniej historii automatycznych powiadomień sklepu, bo potwierdzenia zamówień zawsze wychodziły z adresu firmowego. W folderze Wysłane nagle znalazło się około 1 950 wiadomości, których nikt nie napisał, wymieszanych z prawdziwymi odpowiedziami zespołu.

Rozpoznaliśmy wiadomości generowane przez sklep po nagłówkach programu wysyłającego i wszystkie 1 959 przenieśliśmy z Wysłanych do właściwych etykiet poleceniem przenoszenia IMAP. W tej skrzynce przeniesienie wiadomości z folderu Wysłane usuwało jej etykietę Wysłane, czyli dokładnie to, czego potrzebowaliśmy. Najpierw sprawdziliśmy to na małej partii. W folderze Wysłane znów została wyłącznie poczta napisana przez ludzi.

Gmail umieścił powiadomienia sklepu w Wysłanych. Ich przeniesienie sprawiło, że zespół znów mógł wygodnie korzystać z tego folderu.

Ilustracja folderu Wysłane w Gmailu: po imporcie odpowiedzi zespołu są wymieszane z około 1 950 automatycznymi wiadomościami sklepu, na przykład potwierdzeniami zamówień. Po porządkach w Wysłanych zostają tylko odpowiedzi zespołu, a 1 959 wiadomości sklepu trafia do osobnej etykiety Wysłane - sklep, z shop@ jako nadawcą i klientem jako odbiorcą.

2. Nowa poczta sklepu znów by go zapełniła

Najbardziej oczywisty sposób wysyłania poczty sklepu przez Google to użycie danych logowania do samej skrzynki na smtp.gmail.com. To działa, ale od tego dnia każde potwierdzenie zamówienia znów trafia do Wysłanych. Zamiast tego sklep wysyła przez usługę przekaźnika SMTP (SMTP relay service) Google (smtp-relay.gmail.com), którą administrator konfiguruje w konsoli administracyjnej w sekcji Aplikacje, Google Workspace, Gmail, Routing:

  • Dozwoleni nadawcy (Allowed senders): Tylko adresy z moich domen (Only addresses in my domains)
  • Wymagaj uwierzytelniania SMTP (Require SMTP authentication)
  • Wymagaj szyfrowania TLS (Require TLS encryption)

Kompleksowe przechowywanie poczty (Comprehensive mail storage), ustawienie administratora w sekcji Gmail, Zgodność (Compliance), było na tym koncie wyłączone, a przekazywane wiadomości nie pojawiały się w folderze Wysłane nadawcy. Włączenie tego ustawienia zapisuje kopie przekazywanej poczty w skrzynkach użytkowników. Jeśli masz obowiązek przechowywania korespondencji, przyjrzyj się temu ustawieniu i Google Vault.

3. Zespół nadal chce widzieć, co wysłał sklep

Porządek w folderze Wysłane cieszy do chwili, gdy klient zadzwoni i zapyta, co było w jego potwierdzeniu. Dlatego dzięki niewielkiemu fragmentowi kodu dodanemu w sklepie każda pomyślnie wysłana wiadomość uruchamia teraz wysyłkę jednej kopii na adres głównej skrzynki z dopiskiem po plusie (office+shop@). Kopia przychodzi z osobnego adresu w domenie (shop@), który w ogóle nie jest skrzynką. Jego nazwa wyświetlana zawiera pierwotnych odbiorców („Do: customer@...”), a Reply-To wskazuje klienta, więc odpowiedź trafia tam, gdzie powinna.

Filtr Gmaila z warunkiem deliveredto:office+shop@example-shop.com pomija folder Odebrane, oznacza kopię jako przeczytaną i nadaje jej etykietę Wysłane - sklep. Po co inny adres nadawcy? Z powodu opisanego w punkcie 1: w tej skrzynce kopie z jej własnego adresu trafiały do Wysłanych nawet wtedy, gdy przychodziły przez serwer pośredniczący. Powiadomienia, które sklep wysyła własnym pracownikom, również wychodzą z shop@, więc trafiają do Odebranych, gdzie ktoś faktycznie je przeczyta.

Warto znać jedno ograniczenie: Gmail nie pozwala umieścić etykiety wewnątrz Wysłanych. Wysłane - sklep znajduje się obok na liście etykiet. Właściciel sklepu zaakceptował to, gdy poznał przyczynę.

Programy pocztowe na komputerach

Kilka ustawień zdecydowało o tym, czy usłyszymy „Thunderbird działa wolno od czasu przeprowadzki”, czy program będzie działał sprawnie:

  • Synchronizuj mniej. Gmail pokazuje każdą etykietę jako folder IMAP, więc jedna wiadomość może być pobierana kilka razy. W ustawieniach Gmaila, w sekcji Etykiety (Labels), odznacz „Pokaż w IMAP” (Show in IMAP) przy folderach, których zespół nie używa na komputerach, takich jak Ważne. Uważaj na folder Wszystkie: zarchiwizowane wiadomości są tylko tam, więc jeśli zespół archiwizuje pocztę w Gmailu, pozostaw folder Wszystkie widoczny, a zamiast tego ogranicz pobieranie wiadomości do pracy offline w programie pocztowym.
  • Nie pozwalaj programowi zapisywać drugiej kopii wysłanej poczty. Przy kontach wysyłających przez Gmaila to Gmail zachowuje już każdą wysłaną wiadomość. Sprawdź, czy wiadomość testowa pojawia się w folderze Wysłane, a następnie wyłącz zapisywanie kopii przez program, który w przeciwnym razie przesyła każdą wiadomość drugi raz.
  • Wycofaj stare konto z programu. Usuń je po ostatnim imporcie albo przynajmniej zmień jego nazwę, żeby nikt z przyzwyczajenia nie odpowiadał ze starego serwera.

Poczta sklepu w ustawieniach PrestaShop

Niezależnie od tego, na czym działa twój sklep, ustawienia serwera pośredniczącego mają to samo znaczenie. W PrestaShop 1.7 i 8 znajdziesz je w „Advanced Parameters”, „E-mail” (nazwy mogą się nieco różnić między wersjami):

Ustawienia poczty PrestaShop dla usługi przekazywania SMTP Google.
UstawienieWartość
„Sending method”„Set my own SMTP parameters”
„Email domain name”twoja domena, na przykład example-shop.com
Serwer SMTP (SMTP server)smtp-relay.gmail.com
„SMTP username”użytkownik Workspace, na przykład office@example-shop.com
Hasło SMTP (SMTP password)hasło do aplikacji dla tego użytkownika, jeśli ustawienia zabezpieczeń konta zezwalają na takie hasła (wymagają weryfikacji dwuetapowej)
Szyfrowanie (Encryption)TLS
Port587

Adres e-mail samego sklepu, ustawiony w „Shop Parameters”, musi należeć do twojej domeny, inaczej serwer pośredniczący go odrzuci. Wyślij wiadomość testową z tej samej strony ustawień, otwórz ją w Gmailu, wybierz Pokaż oryginał i sprawdź trzy pozytywne wyniki: SPF, DKIM z podpisem twojej własnej domeny oraz DMARC. Opisana wyżej kopia archiwalna nie jest częścią tych ustawień: w tym sklepie wymagała dodatkowego kodu, a PrestaShop nie tworzy jej standardowo. Więcej o ustawieniach poczty PrestaShop znajdziesz w naszym poradniku konfiguracja poczty w PrestaShop: SMTP, Gmail i e-maile transakcyjne.

Nie wysyłaj newsletterów ze skrzynki firmowej

Google ustala limity wysyłki na użytkownika w ruchomym oknie 24 godzin: 2 000 wiadomości przez Gmaila i 10 000 przez usługę przekazywania SMTP, najwyżej 100 odbiorców na jedną transakcję SMTP oraz niższe limity dla kont próbnych i zupełnie nowych. Zanim oprzesz na tym wysyłkę, policz obciążenie w najbardziej ruchliwym dniu, łącznie z kopiami archiwalnymi. Newsletter do całej bazy klientów w ogóle nie powinien iść tą drogą, a fala zgłoszeń spamu po kampanii szkodzi tej samej domenie, od której zależą twoje potwierdzenia zamówień. Rozsyłaj pocztę masową w kontrolowanym tempie i oddziel ją od adresu używanego na co dzień. Nasz Mail Revolution obsługuje kampanie na osobnych profilach nadawców, z godzinami pracy i limitami dziennymi, więc newslettery nigdy nie wychodzą z adresu, na który odpowiadają twoi klienci.

Po przełączeniu: zamknięcie starych dróg dostępu

Migracja kończy się wtedy, gdy nic już nie zależy od starego systemu i nikt nie może użyć go przez pomyłkę. Oto lista, według której pracujemy po takiej przeprowadzce:

  • Zaostrz SPF, gdy kilka spokojnych dni pokaże, że nic już nie wysyła przez stary serwer: usuń include poprzedniego dostawcy.
  • Zachowaj niezależny eksport starej skrzynki, zanim stara usługa zostanie wyłączona, i ustaw dla starej skrzynki długie, losowe hasło, żeby nikt nie korzystał z niej z przyzwyczajenia.
  • Unieważnij wszystkie tymczasowe dane dostępu użyte podczas przeprowadzki: hasła do aplikacji służące do importu, klientów API, tokeny hostingu.
  • Upewnij się, że raporty DMARC rzeczywiście docierają (rekord musi zawierać adres do raportów), czytaj je przez kilka tygodni, a potem zmień politykę z p=none na quarantine.
  • Rozważ Google Postmaster Tools, aby obserwować odsetek zgłoszeń spamu i reputację w Gmailu. Przy niewielkiej liczbie wysyłek danych może być tam mało, dlatego nadal śledź zwrotki i informacje od odbiorców.
  • Zapisz, gdzie co się znajduje: DNS, administrator Workspace, ustawienia serwera pośredniczącego, filtry. Następna osoba, która się tym zajmie, będzie ci wdzięczna, nawet jeśli będziesz nią ty za dwa lata.

Efekt

Poczta sklepu wychodzi teraz przez infrastrukturę Google, podpisana własną domeną sklepu. SPF, DKIM i DMARC przechodzą poprawnie, hurtownia znów dostaje odpowiedzi, a zgłoszenia o niedostarczonych wiadomościach ustały. Jedyna zwrotka w pierwszych dniach po przełączeniu dotyczyła potwierdzenia konta wysłanego na fałszywy adres, który bot wpisał w formularzu rejestracyjnym. Taką zwrotkę akurat chcesz dostać.

Skrzynka odbiorcza zespołu wygląda jak dawniej, a każda stara wiadomość jest tam, gdzie powinna. Folder Wysłane zawiera to, co napisali ludzie. Powiadomienia sklepu mają własną etykietę, dostępną jednym kliknięciem, gdy zadzwoni klient.

I jeszcze jeden szczegół, o którym uczciwie wspominamy: pierwszego dnia nasze własne wiadomości testowe do nowej skrzynki trafiły do Spamu. Pochodziły z naszego niewielkiego serwera z bezbłędnym uwierzytelnianiem i bardzo krótką historią wysyłek. Nie znamy powodów decyzji Gmaila, ale ta krótka historia jest najbardziej prawdopodobnym wyjaśnieniem. To ta sama lekcja, która płynie z całej historii: poprawne uwierzytelnianie nie oznacza jeszcze zaufania.

Najczęściej zadawane pytania

Czy muszę przenieść stronę, żeby naprawić dostarczanie poczty?

Nie. Poczta przychodząca podąża za rekordami MX twojej domeny, SPF określa, które serwery mogą wysyłać w twoim imieniu, a ustawienia SMTP sklepu decydują o drodze wysyłki. Żadna z tych rzeczy nie wymaga przenoszenia strony, która w tym przypadku została na dotychczasowym hostingu.

Czy stracę stare e-maile?

Nie, jeśli je zaimportujesz i sprawdzisz wynik, zanim wycofasz starą skrzynkę. Uwzględnij wszystko, co świadomie pomijasz, dopasuj stare wiadomości do ich kopii w nowej skrzynce oraz sprawdź daty i odwzorowanie folderów. Sama zgodność łącznej liczby wiadomości nie dowodzi kompletności, bo etykiety się nakładają.

Google Workspace czy Microsoft 365?

Obie usługi prawdopodobnie pomogą, jeśli problemem jest stara infrastruktura poczty wychodzącej, bo obie wysyłają z serwerów o mocnej reputacji. Uwierzytelnianie, treść i sposób wysyłania nadal mają znaczenie. Wybierz usługę, którą twój zespół już zna: znajome narzędzie przyjmie się w dzień, opanowanie nieznanego zajmuje tygodnie.

Czy PrestaShop może wysyłać e-maile przez Google?

Tak. Użyj usługi przekazywania SMTP (smtp-relay.gmail.com, TLS, port 587) z użytkownikiem Workspace i hasłem do aplikacji, a jako adres e-mail sklepu ustaw adres w swojej domenie. Newslettery wysyłaj osobną drogą ze względu na limity dzienne.

Ile trwa przełączenie?

Zmiana DNS zajmuje kilka minut, ale zaplanuj okres przejściowy od kilku godzin do doby, gdy opóźnione wiadomości mogą jeszcze trafiać do starej skrzynki. Import skrzynki o rozmiarze ponad 10 GB zajmuje wiele godzin ze względu na ograniczenia szybkości importu. Gdy obie skrzynki działają w okresie przejściowym, a na koniec wykonasz jeszcze jeden import, poczta dociera przez cały czas.

Czy za każdy adres muszę opłacać osobnego użytkownika?

Nie zawsze. Alias dostarcza pocztę do skrzynki istniejącego użytkownika i nie ma własnego loginu. Grupa dyskusyjna Google ma własnych członków i zasady publikowania. Adres, który potrzebuje osobnej skrzynki, zazwyczaj wymaga własnego użytkownika z licencją.

Masz takie same objawy w swoim sklepie?

Nasz Audyt Hostingu & infrastruktury PrestaShop obejmuje dostarczanie poczty: skąd twoje wiadomości naprawdę wychodzą, co widzi strona odbierająca i czy właściwym krokiem będzie przeniesienie poczty, strony, czy pozostawienie wszystkiego na miejscu. Jeśli wolisz przekazać komuś całość, Plan opieki & utrzymania sklepu PrestaShop obejmuje takie prace w ramach opieki nad twoim sklepem.

Źródła

Autor: zespół mypresta.rocks. Tworzymy moduły PrestaShop od 2013 roku i opiekujemy się działającymi sklepami, wspierając ich właścicieli we wszystkim, od kodu po skrzynkę pocztową. Ten przypadek pochodzi z jednego z tych sklepów. Nazwy, domeny i wszystko, co mogłoby pozwolić rozpoznać firmę, usunęliśmy lub zastąpiliśmy przykładowymi danymi.

David Miller

David Miller

Założyciel, mypresta.rocks
O autorze

David Miller to specjalista PrestaShop z ponad dekadą praktycznego doświadczenia i założyciel mypresta.rocks, studia programistycznego z miasta Tychy. Tworzy i utrzymuje katalog 159 modułów PrestaShop, w tym 21 pakietów „Revolution" obejmujących SEO, checkout, bezpieczeństwo, wydajność, marketing, wyszukiwanie, wsparcie i operacje magazynowe, które każdego dnia usprawniają realne sklepy, testowanych na PrestaShop 1.7.8, 8.x i 9.x. Sprawuje również opiekę nad sklepami produkcyjnymi, dlatego jego pracę ocenia się po realnej sprzedaży, a nie po wersjach demo. Jego doświadczenie obejmuje pełen zakres e-commerce, wydajność, bezpieczeństwo, SEO i marketing, oraz wykracza poza PrestaShop, sięgając WooCommerce, Shopify i systemów tworzonych na zamówienie. Na blogu pisze o technicznej stronie PrestaShop: co platforma naprawdę robi pod maską, co psuje się na produkcji i które rozwiązania faktycznie się sprawdzają.

Udostępnij ten wpis:

Komentarze

Brak komentarzy. Bądź pierwszy!

Spodobał Ci się ten artykuł?

Otrzymuj nasze najnowsze porady, przewodniki i aktualizacje modułów prosto na swoją skrzynkę.

Możesz zrezygnować w każdej chwili. Dane kontaktowe znajdziesz w naszej nocie prawnej.

Ładowanie...
Do góry