| Termin | Definicja |
|---|---|
| Symfony + Mailer Pro support | Symfony Mailer z komercyjnym wsparciem to wdrożenie tego komponentu uzupełnione o płatną pomoc techniczną. Symfony Mailer jako komponent wysyłki wiadomościSymfony Mailer to komponent frameworka Symfony służący do tworzenia i wysyłania wiadomości e-mail z aplikacji napisanych w PHP. Nie jest samodzielnym serwerem pocztowym ani skrzynką pocztową dla użytkownika. Aplikacja buduje wiadomość, a Mailer przekazuje ją do skonfigurowanego transportu. Transport może korzystać z protokołu SMTP albo z interfejsu programistycznego dostawcy poczty, jeżeli używany jest odpowiedni adapter. Dzięki temu kod aplikacji może pozostać niezależny od konkretnej firmy obsługującej wysyłkę. Wiadomości są tworzone z wykorzystaniem komponentu Symfony Mime. Pozwala on określić nadawcę, odbiorców, temat, treść tekstową i HTML, nagłówki, załączniki oraz osadzone zasoby, takie jak obrazy używane w treści. Symfony Mailer rozdziela przygotowanie wiadomości od jej dostarczenia, dlatego tę samą strukturę e-maila można wysłać przez inny transport bez przepisywania logiki odpowiedzialnej za formularz, powiadomienie lub generowanie dokumentu. Konfiguracja DSN, SMTP i transportów APIPołączenie z usługą wysyłkową opisuje się za pomocą DSN, czyli ciągu konfigurującego schemat transportu, adres usługi oraz dane uwierzytelniające. Dla SMTP istotne są między innymi nazwa hosta, port, sposób szyfrowania połączenia i metoda uwierzytelniania. W praktyce aplikacja powinna korzystać z parametrów konfiguracyjnych środowiska, a nie z danych wpisanych bezpośrednio w kodzie źródłowym. Pozwala to rozdzielić ustawienia używane podczas testów, pracy lokalnej i działania aplikacji. Transport API różni się od SMTP sposobem przekazywania wiadomości. Zamiast ustanawiać sesję SMTP, adapter wysyła żądanie HTTP do usługi dostawcy. Taki transport może udostępniać informacje o identyfikatorze wiadomości, błędzie autoryzacji albo odrzuceniu adresata, ale szczegóły zależą od konkretnego dostawcy. W konfiguracji trzeba sprawdzić zgodność adaptera z używaną usługą, format danych logowania oraz wymagane uprawnienia. Sama obecność poprawnego DSN nie oznacza jeszcze, że wiadomość została przyjęta przez serwer odbiorcy. Obsługa błędów, kolejki i wiarygodność dostarczeniaSymfony Mailer może zgłosić wyjątek, gdy transport nie może nawiązać połączenia, odrzuci dane logowania, napotka błąd protokołu albo otrzyma odpowiedź wskazującą na problem z wiadomością. Błąd podczas przekazania do transportu oznacza, że aplikacja nie uzyskała potwierdzenia przyjęcia wiadomości przez używaną usługę. Nie jest to równoznaczne z dostarczeniem e-maila do skrzynki odbiorcy. Późniejsze odrzucenie przez serwer docelowy, filtr antyspamowy lub limit dostawcy może nastąpić już po zakończeniu pracy komponentu. Wysyłanie może być wykonywane bezpośrednio w żądaniu HTTP albo przekazane do kolejki obsługiwanej przez proces konsumencki. Tryb kolejkowy skraca czas odpowiedzi aplikacji, ponieważ użytkownik nie musi czekać na zakończenie komunikacji z usługą pocztową. Wymaga jednak poprawnego zarządzania stanem wiadomości, ponawianiem prób i obsługą komunikatów, których nie udało się wysłać. Ponowienie powinno uwzględniać rodzaj błędu: chwilowa niedostępność usługi może uzasadniać kolejną próbę, natomiast niepoprawny adres lub odrzucone dane uwierzytelniające wymagają korekty konfiguracji. Zakres komercyjnego wsparcia dla wdrożeniaOkreślenie „Mailer Pro support” nie oznacza standardowego, odrębnego komponentu Symfony o takiej nazwie. W opisanym zastosowaniu odnosi się do wdrożenia Symfony Mailer uzupełnionego o płatną pomoc techniczną. Taka pomoc może obejmować analizę konfiguracji transportu, interpretację wyjątków, sprawdzenie mapowania zmiennych środowiskowych, testy wysyłki oraz ocenę logów aplikacji. Zakres wsparcia powinien być opisany osobno, ponieważ Symfony Mailer odpowiada za integrację aplikacji z transportem, a nie za politykę dostarczania wiadomości po stronie zewnętrznego operatora. Podczas diagnostyki warto odtworzyć problem na kontrolowanym adresie testowym i ustalić, na którym etapie przepływu występuje błąd: tworzenia obiektu wiadomości, wyboru transportu, uwierzytelnienia, przekazania danych czy późniejszego odbioru. Należy także rozróżnić błędy aplikacji od limitów i odpowiedzi usługi pocztowej. Na komputerze używanym do pracy można sprawdzić wersję PHP, zależności projektu i logi procesu uruchamiającego aplikację, ale sama naprawa problemu z Symfony Mailer zwykle wymaga dostępu do kodu oraz konfiguracji środowiska, w którym aplikacja faktycznie wysyła pocztę. |