Jak wysłać e-mail w PHP używając Twilio SendGrid?

Mariola
Mariola
Content Writer
Regular Backend PHP Developer

Każdy właściciel strony internetowej rozumie, że wysyłanie wiadomości e-mail jest jednym z kluczowych elementów budowania ruchu i zaangażowania. Wysyłanie wiadomości e-mail w twojej aplikacji może być prostym procesem. Jeśli jesteś programistą lub właścicielem produktu (PO), być może szukasz sposobów na wysyłanie wiadomości e-mail za pomocą odpowiedniego narzędzia. Istnieje wielu dostawców usług email API, więc decyzja, która z nich najlepiej odpowiada Twoim potrzebom, wymaga czasu.

Niektóre z bardziej znanych narzędzi do wysyłki e-mail to SparkPost, Mailchimp Transactional, Mailgun, Amazon SES i Twilio SendGrid. Każdy z nich ma mocne i słabe strony, więc kluczowe jest dopasowanie aplikacji do Twoich potrzeb.

Jeśli jesteś programistą PHP, rozumiesz, że jest to rozległy i wszechstronny język, na którym zbudowane są jedne z największych stron internetowych na świecie. Chociaż tylko czasami jest to pierwszy wybór do wysyłania wiadomości e-mail, można to zrobić stosunkowo szybko z pomocą Twilio SendGrid. W tym poście skupimy się na opisie tego narzędzia oraz na tym, jak możesz go użyć do wysyłania emaili z twojej strony lub aplikacji w PHP.

Czym jest SendGrid i dlaczego warto z niego korzystać?

SendGrid to jeden z bardziej znanych dostawców poczty elektronicznej, który każdego miesiąca wysyła ponad 70 miliardów e-maili. Jako usługa chmurowa, umożliwia wysyłanie wiadomości e-mail bez konieczności utrzymywania serwerów pocztowych. Jest to usługa, która obsługuje duże ilości maili, jest łatwa do uruchomienia i stanowi część większej grupy komunikacyjnej. Jeśli chodzi o zarządzanie pocztą elektroniczną, SendGrid jest niewątpliwie najlepszym wyborem. Potężne API, łatwy w użytkowaniu pulpit nawigacyjny, możliwość skalowania infrastruktury, czy analityka w czasie rzeczywistym, to tylko niektóre z wielu funkcji SendGrid’a, które są wykonywane automatycznie.

Oto więcej powodów, dla których warto korzystać z SendGrid:

  1. Niezawodne dostarczanie wiadomości e-mail: SendGrid ma wysoce skalowalną infrastrukturę poczty elektronicznej, zapewniającą wysokie wskaźniki dostarczania wiadomości e-mail, nawet w okresach dużego natężenia ruchu.
  2. Analityka i raportowanie: SendGrid zapewnia analitykę i raportowanie w czasie rzeczywistym dotyczące wydajności wiadomości e-mail, w tym współczynników otwarć i kliknięć, współczynników odrzuceń i rezygnacji z subskrypcji.
  3. Łatwa integracja: SendGrid integruje się z różnymi językami programowania, systemami zarządzania treścią i innymi platformami, co ułatwia włączenie funkcjonalności poczty elektronicznej do istniejących aplikacji.
  4. Dostosowanie: SendGrid pozwala na dostosowanie szablonów wiadomości e-mail, umożliwiając firmom tworzenie kampanii e-mailowych, które są zgodne z ich brandingiem i celami marketingowymi.
  5. Zaawansowane funkcje: SendGrid oferuje zaawansowane funkcje, w tym uwierzytelnianie wiadomości e-mail, filtry antyspamowe i walidację wiadomości e-mail, które pomagają zapewnić, że wiadomości e-mail są dostarczane do odpowiednich odbiorców i nie trafiają do folderu spamu.

Ogólnie rzecz biorąc, jeśli chcesz mieć pewność niezawodnego dostarczania wiadomości e-mail, uzyskać wgląd w wydajność poczty elektronicznej i łatwo zintegrować funkcje poczty elektronicznej z istniejącymi aplikacjami, warto skorzystać z SendGrid.

Jak wysłać wiadomość e-mail za pomocą SendGrid w PHP?

SendGrid wspiera integrację Twojego środowiska aplikacji z platformą poczty elektronicznej, w tym z  SMTP API i Web API. Być może Twoja aplikacja internetowa lub narzędzia innych firm, z którymi pracujesz, są wcześniej skonfigurowane do dostarczania wiadomości e-mail za pomocą SMTP. Jednak interfejs API poczty elektronicznej jest lepszym wyborem w przypadku konieczności głębokiego dostosowywania i elastycznej integracji, ponieważ umożliwia wykonywanie złożonych operacji na tym prostym w użyciu protokole komunikacyjnym.  

Kiedy warto zdecydować się na SMTP?

Programiści korzystają z interfejsu SMTP API firmy SendGrid, aby zapewnić konkretne instrukcje zarządzania pocztą elektroniczną. Jeśli integrujesz SendGrid z istniejącą aplikacją, to użycie przekaźnika SMTP jest najprostszym sposobem, ponieważ wymaga jedynie modyfikacji konfiguracji SMTP

  • Zmień swoją nazwę użytkownika SMTP i hasło na swoje dane uwierzytelniające SendGrid.
  • Ustaw nazwę hosta serwera na smtp.sendgrid.net
  • Użyj portów 25 lub 587 dla połączeń plain/TLS i portu 465 dla połączeń SSL. 

Kiedy warto wybrać SendGrid Web API?

Web API firmy SendGrid zapewnia dodatkowy sposób wysyłania poczty. Jest to preferowany sposób integracji z SendGrid. Ta opcja jest najprawdopodobniej wykorzystywana, jeśli:

  • Nie kontrolujesz środowiska swojej aplikacji i trudno jest tam zainstalować i skonfigurować bibliotekę SMTP. 
  • Wybierasz użycie SendGrid bez biblioteki klienta. Web API jest szybszy, zapewnia pewne korzyści z kodowania i jest łatwiejszym w użyciu. 
  • Tworzysz od podstaw bibliotekę do wysyłania wiadomości e-mail – tworzenie w oparciu o Web API jest znacznie łatwiejsze niż tworzenie biblioteki SMTP.

Gdzie znaleźć klucz API SendGrid?

SendGrid posiada doskonałą dokumentację i biblioteki w wielu językach. Zapewnia dokładne „user-guides”, dokumentację dla programistów, referencje API, blog, filmy i podcasty, oraz dedykowane centrum wiedzy. 

Klucz API SendGrid można znaleźć na stronie Dokumentacja Web API.

Jak wykorzystać SendGrid email w PHP?

SendGrid ma bibliotekę klienta PHP, ułatwiającą interakcję z ich API. Można go zainstalować przy pomocy kompozytora lub pobrać z GitHub.

  1. Po pierwsze, musisz zarejestrować się na koncie SendGrid i uzyskać klucz API.

API jest hostowane pod adresem https://sendgrid.com/docs/API_Reference/Web_API_v3/index.html i zawiera szczegółową dokumentację dotyczącą korzystania z API.

  1. Zainstaluj bibliotekę SendGrid PHP za pomocą Composera (dla Symfony).

`composer require symfony/sendgrid-mailer`

Zauważ, że ten krok nie jest potrzebny w Laravelu. Po zainstalowaniu biblioteki możesz użyć interfejsu API do wysyłania wiadomości e-mail, tworząc i uwierzytelniając klucz API. 

  1. Ustaw konfigurację za pomocą API lub SMTP

a) Symfony

Ustaw konfigurację mailingu API w taki sposób:

Ustaw mailer_dsn na używanie SendGridsendgrid_api1

Gdzie KEY to klucz API, który otrzymałeś od Sendgrid.  Najlepszą praktyką jest ustawienie zmiennej MAILER_DSN env:

sendgrid_api2i i odwołać się do tej zmiennej w konfiguracji mailera.

sendgrid_api3Wtedy możesz normalnie wysłać swojego maila.

sendgrid_api4Pełne odniesienie znajduje się w dokumentacji komponentu mailer znajdziesz pod tym linkiem.

b) Laravel

Ustaw konfigurację mailingu SMTP w taki sposób:

sendgrid_api5

 MAIL_USERNAME to „apikey”, a MAIL_PASSWORD to klucz API, który otrzymałeś od SendGrid. Następnie wyślij e-maila normalnie jak w widoku SMTP. Więcej informacji można znaleźć na stronie dokumentacji.

c) Raw PHP

Użyj biblioteki dołączonej do pakietu sendgrid/sendgrid.sendgrid_api7

Gdzie SENDGRID_APIKEY to klucz API otrzymany od SendGrid.

Czy wiadomości e-mail SendGrid są szyfrowane?

Tak. SendGrid wykorzystuje szyfrowanie do zabezpieczenia wiadomości e-mail, wysyłanych za pośrednictwem swojej platformy. W szczególności SendGrid obsługuje szyfrowanie Transport Layer Security (TLS) dla przychodzących i wychodzących wiadomości e-mail.

TLS to protokół zapewniający szyfrowanie i uwierzytelnianie w komunikacji internetowej. Kiedy dwie strony (np. nadawca i odbiorca) komunikują się za pomocą TLS, ich wiadomości są szyfrowane w tranzycie, co utrudnia komukolwiek przechwycenie lub odczytanie wiadomości. Ponadto TLS zawiera mechanizmy uwierzytelniania tożsamości obu stron, co pomaga zapobiegać spoofingowi poczty elektronicznej i innym rodzajom ataków opartych na poczcie elektronicznej.

Oprócz szyfrowania TLS SendGrid zapewnia różne zabezpieczenia chroniące przed zagrożeniami związanymi z pocztą elektroniczną, takie jak filtry antyspamowe i protokoły uwierzytelniania domen. Środki te zapewniają, że wiadomości e-mail, które wysyłamy za pośrednictwem SendGrid są dostarczane w  bezpieczny i niezawodny sposób.

Integracja z SendGrid w platformie internetowej fitness

Nasi inżynierowie regularnie korzystają z tego narzędzia i integrują SendGrid API aplikacji webowych i mobilnych, na przykład w aplikacji Fitme. Jest to platforma dla bywalców siłowni, którzy mogą trenować podobnie jak w warunkach siłowni i doświadczać atmosfery treningu grupowego w sesjach na żywo ze swoim trenerem. Wdrożona integracja daje możliwość informowania użytkowników drogą mailową o wszystkich aktywnościach w platformie: informacjach o treningach, nagrodach, postępach.

Podsumowanie

Podczas pracy z interfejsem API poczty elektronicznej w celu wysłania wiadomości e-mail, zawsze sprawdzaj, czy twój dostawca usług poczty elektronicznej ma historię niezawodnego dostarczania. Email API daje niesamowitą dodatkową funkcjonalność, którą programiści wdrażają szybko i sprawnie.

Wiedza o tym, jak działa API, to pierwszy krok do budowania świetnych integracji. Więcej na ten temat można znaleźć w poniższym artykule.

Skontaktuj się z nami, jeśli chcesz zintegrować swoje aplikacje, ale nie masz na to odpowiednich zasobów czasowych.  Jesteśmy doświadczoną grupą specjalistów, którzy zintegrują istniejące API lub stworzą dla Ciebie customowe integracje zamówienie. Niezależnie od tego, czy potrzebujesz prostych aplikacji, czy pełnowymiarowych integracji, związanych z pobraniem dużej ilości danych z wielu źródeł, jesteśmy gotowi pomóc.

Podobne artykuły
25 stycznia 2024
Podsumowanie 2023 – przełomowy rok obfity w zmiany i sukcesy
Przyszedł czas na tradycyjne podsumowanie roku! Śmiało możemy powiedzieć, że skala zmian, jakie zaszły w…
Czytaj więcej
26 sierpnia 2020
4 typy narzędzi, których nie musisz tworzyć od podstaw
Wprowadzasz nowy produkt na rynek? Nie musisz wymyślać koła na nowo, szczególnie gdy nie ma…
Czytaj więcej
5 listopada 2020
Skuteczna integracja systemów informatycznych: definicja, korzyści biznesowe i kluczowe przykłady
Integracje systemowe coraz częściej znajdują zastosowanie w różnorodnych firmach. Jak widać na przykładach takich wdrożeń,…
Czytaj więcej