Przejdź do głównej zawartości

60. Email w aplikacjach webowych — SMTP, PHPMailer, nagłówki

Email w aplikacjach webowych

Wysyłka e-mail jest w prawie każdej aplikacji webowej: rejestracja, resetowanie hasła, potwierdzenia zamówień. PHP ma wbudowaną funkcję mail(), ale w praktyce używamy PHPMailer lub Symfony Mailer przez SMTP, bo dają pełną kontrolę nad nagłówkami i uwierzytelnianiem.

  • Transakcyjne e-maile (reset hasła, potwierdzenia) są w każdej aplikacji
  • Nieprawidłowe nagłówki powodują że e-mail trafia do spamu
  • PHPMailer jest jedną z najczęściej pobieranych bibliotek PHP
  1. Wyjaśnić różnicę między mail() a SMTP przez PHPMailer
  2. Opisać nagłówki e-mail: From, Reply-To, Content-Type, MIME
  3. Omówić uwierzytelnianie SMTP (TLS/SSL)
  4. Pokazać wysyłkę e-mail z załącznikiem
  1. mail() — prosta funkcja PHP, ograniczenia
  2. SMTP — jak działa protokół (EHLO, AUTH, DATA, QUIT)
  3. PHPMailer — instalacja, konfiguracja SMTP
  4. Nagłówki wiadomości: From, To, Cc, Bcc, Reply-To, Subject
  5. HTML vs plain text — multipart/alternative
  6. Załączniki — Content-Disposition, Base64
  7. SPF, DKIM, DMARC — dlaczego e-mail trafia do spamu

Przykład 1

PHPMailer: wysyłka przez SMTP z uwierzytelnianiem

Przykład 2

E-mail HTML z wersją plain text (multipart)

Przykład 3

Dodawanie załącznika przez PHPMailer
  1. Wstęp — e-mail w aplikacjach
  2. Protokół SMTP
  3. PHP mail() — wady
  4. PHPMailer — konfiguracja i przykład
  5. Nagłówki wiadomości
  6. HTML e-mail i załączniki
  7. Zapobieganie trafianiu do spamu
  8. Podsumowanie i bibliografia

Skonfiguruj wysyłkę na Mailtrap!

Mailtrap przechwytuje e-maile bez prawdziwego wysyłania. Skonfiguruj PHPMailer z Mailtrap i wyślij testowy e-mail. Opisz cały proces.