Jeśli prowadzisz bloga, sklep internetowy, kanał YouTube albo po prostu chcesz mieć bezpośredni kontakt z odbiorcami – newsletter to Twój najlepszy przyjaciel. Dzięki niemu możesz regularnie informować ludzi o nowościach, ofertach czy po prostu dzielić się wiedzą. Ale jak to wszystko zrobić od zera? Jak stworzyć własny newsletter, zebrać bazę adresów i wysyłać wiadomości, które faktycznie ktoś przeczyta?
W tym artykule pokażę Ci krok po kroku, jak zbudować własny system newslettera – od formularza zapisu po bazę subskrybentów i wysyłkę e-maili. Wszystko prosto, zrozumiale i tak, żebyś mógł to zrobić samodzielnie, nawet bez dużego doświadczenia technicznego.
Dlaczego warto mieć własny newsletter?
Zanim przejdziemy do części technicznej, warto zrozumieć, po co w ogóle robić newsletter.
Oto kilka powodów:
- Masz bezpośredni kontakt z odbiorcami.
W social mediach algorytmy decydują, kto zobaczy Twój post. Newsletter trafia prosto do skrzynki odbiorczej. - Budujesz zaufanie.
Regularne wiadomości pokazują, że jesteś aktywny i masz coś wartościowego do powiedzenia. - Możesz sprzedawać skuteczniej.
Ludzie, którzy zapisali się na Twój newsletter, już Cię znają – a więc są bardziej skłonni kupić coś od Ciebie. - Nie jesteś zależny od platform.
Facebook, Instagram czy TikTok mogą się zmienić lub zniknąć. Lista mailingowa zostaje Twoja.
Brzmi sensownie? No to do dzieła!
Krok 1: Wybierz narzędzie do wysyłki newslettera
Zanim stworzysz formularz zapisu, musisz mieć gdzie przechowywać adresy e-mail i skąd wysyłać wiadomości.
Masz dwie drogi:
Opcja 1: gotowe narzędzie (dla początkujących)
Jeśli chcesz szybko zacząć, wybierz jedno z popularnych narzędzi:
- MailerLite – prosty, z darmowym planem do 1000 subskrybentów.
- ConvertKit – idealny dla twórców i blogerów.
- Sendinblue (Brevo) – dobry wybór dla firm, obsługuje też SMS-y.
- GetResponse – polski interfejs i sporo automatyzacji.
Wystarczy założyć konto, dodać formularz i gotowe – nie musisz pisać ani linijki kodu.
Opcja 2: własne rozwiązanie (dla bardziej technicznych)
Jeśli chcesz pełną kontrolę nad danymi i nie lubisz polegać na zewnętrznych usługach, możesz zbudować własny system.
Będzie się składał z:
- formularza HTML do zapisu,
- bazy danych (np. MySQL),
- skryptu w PHP lub Pythonie do zapisu adresów,
- narzędzia do wysyłki maili (np.
smtplib, PHPMailer lub Mailgun API).
Pokażę Ci prosty przykład w dalszej części artykułu.
Krok 2: Stwórz formularz zapisu
Formularz to miejsce, w którym użytkownik wpisuje swój adres e-mail, by zapisać się na listę.
Możesz umieścić go:
- na stronie głównej,
- pod artykułami,
- w wyskakującym okienku (tzw. pop-up),
- w stopce lub pasku bocznym.
Oto prosty przykład formularza HTML, który możesz wkleić na swoją stronę:
<form action="zapisz.php" method="POST"> <label for="email">Zapisz się do newslettera:</label><br><br> <input type="email" id="email" name="email" placeholder="Twój adres e-mail" required> <button type="submit">Zapisz się</button> </form>
Ten kod jest banalny, ale działa. Użytkownik wpisuje e-mail i klika „Zapisz się”.
Następnie dane trafiają do pliku zapisz.php, który zapisze adres w bazie danych.
Krok 3: Utwórz bazę danych subskrybentów
Skoro zbierasz adresy, musisz je gdzieś przechowywać.
Najlepiej w bazie danych – np. MySQL.
Oto prosty przykład struktury tabeli:
CREATE TABLE newsletter ( id INT(11) AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, data_dodania TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Ta tabela zapisze każdy e-mail i datę dodania.
Możesz ją utworzyć np. w phpMyAdmin lub z poziomu terminala MySQL.
Krok 4: Zapis adresu e-mail w bazie (PHP)
Czas, żeby formularz faktycznie coś robił.
Użyj prostego skryptu zapisz.php:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "newsletter_db";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Błąd połączenia: " . $conn->connect_error);
}
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$sql = "INSERT INTO newsletter (email) VALUES ('$email')";
if ($conn->query($sql) === TRUE) {
echo "Dziękujemy! Twój adres został zapisany.";
} else {
echo "Ten adres już jest zapisany.";
}
} else {
echo "Niepoprawny adres e-mail.";
}
$conn->close();
?>
Co robi ten kod:
- łączy się z bazą danych,
- sprawdza, czy adres e-mail jest poprawny,
- dodaje go do tabeli,
- wyświetla komunikat.
Pamiętaj tylko, żeby zabezpieczyć go przed SQL Injection (np. przy pomocy prepare()), jeśli będziesz rozwijać projekt.
Krok 5: Potwierdzenie zapisu (double opt-in)
Wysyłanie newslettera bez zgody użytkownika to zły pomysł – możesz mieć kłopoty z RODO i spamem.
Dlatego najlepiej wdrożyć tzw. double opt-in – czyli potwierdzenie zapisu przez kliknięcie w link wysłany na e-mail.
Jak to zrobić?
- Po zapisaniu adresu w bazie, generujesz unikalny token (np.
md5(email + time())). - Wysyłasz maila z linkiem w stylu:
https://twojastrona.pl/potwierdz.php?token=XYZ - Po kliknięciu w link, zmieniasz w bazie status użytkownika na „potwierdzony”.
Tyle. Dzięki temu masz pewność, że nikt nie dodał cudzej skrzynki bez zgody.
Krok 6: Wysyłka newslettera
Gdy masz już bazę i potwierdzone adresy, możesz wysyłać wiadomości.
Masz kilka opcji:
Użycie PHPMailer (PHP)
PHPMailer to popularna biblioteka do wysyłania maili.
Oto przykład prostego skryptu:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'twojemail@gmail.com';
$mail->Password = 'haslo';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('twojemail@gmail.com', 'Twoje Imię');
$mail->addAddress('adres@subskrybent.pl');
$mail->isHTML(true);
$mail->Subject = 'Nowy newsletter!';
$mail->Body = '<h1>Cześć!</h1><p>Oto Twój najnowszy newsletter 🎉</p>';
$mail->send();
echo 'Wiadomość została wysłana!';
} catch (Exception $e) {
echo "Błąd: {$mail->ErrorInfo}";
}
?>
Możesz zautomatyzować ten proces, np. wysyłać do wszystkich subskrybentów z bazy lub zaplanować wysyłkę co tydzień (cron job).
Krok 7: Zadbaj o zgodność z RODO
Nie możesz po prostu zbierać maili i wysyłać, co chcesz.
Musisz mieć zgodę na przetwarzanie danych osobowych i możliwość wypisania się z listy.
W praktyce oznacza to, że:
- w formularzu powinien być checkbox z informacją o zgodzie na przetwarzanie danych,
- w każdej wiadomości musi być link „Wypisz się”,
- przechowuj tylko to, co niezbędne (e-mail i data).
Przykładowy checkbox:
<label> <input type="checkbox" name="rodo" required> Wyrażam zgodę na przetwarzanie mojego adresu e-mail w celu otrzymywania newslettera. </label>
To prosty detal, ale chroni Cię prawnie.
Krok 8: Personalizacja i automatyzacja
Kiedy masz już podstawy, możesz wejść na wyższy poziom.
Personalizacja
Zamiast wysyłać wszystkim to samo, używaj imienia w wiadomości:
„Cześć Aniu! Mamy dla Ciebie nowy artykuł!”
Zwiększa to otwieralność nawet o kilkanaście procent.
Automatyzacja
Możesz ustawić:
- automatyczną wiadomość powitalną po zapisie,
- sekwencję e-maili edukacyjnych,
- przypomnienia o promocjach.
Jeśli robisz to własnoręcznie, możesz wykorzystać CRON na serwerze lub skrypty w Pythonie.
Jeśli używasz gotowej platformy (MailerLite, GetResponse itd.), wszystko ustawiasz kliknięciem.
Krok 9: Analiza wyników
Nie ma sensu wysyłać newsletterów w ciemno.
Mierz efekty!
Zwróć uwagę na wskaźniki takie jak:
- Open Rate (OR) – ilu użytkowników otworzyło maila,
- Click Rate (CTR) – ilu kliknęło w link,
- Unsubscribe Rate – ilu się wypisało.
Dzięki temu wiesz, co działa, a co trzeba poprawić.
Krok 10: Jak zwiększyć liczbę zapisów
Twój formularz już działa, ale nikt się nie zapisuje?
Oto kilka sprawdzonych trików:
- Dodaj zachętę (lead magnet) – np. darmowy e-book, zniżkę lub checklistę.
- Uprość formularz – nie pytaj o imię, nazwisko, numer buta. Tylko e-mail!
- Wyświetl pop-up po kilku sekundach – ale nie bądź nachalny.
- Umieść formularz w kilku miejscach – stopka, artykuły, menu.
- Daj się poznać – ludzie chętniej zapisują się, gdy wiedzą, kim jesteś i co oferujesz.
Jak widzisz, stworzenie własnego newslettera wcale nie jest takie trudne.
Wystarczy kilka kroków:
- Wybierz narzędzie (lub zbuduj własny system).
- Dodaj formularz zapisu na stronie.
- Zapisuj e-maile w bezpiecznej bazie danych.
- Wysyłaj wartościowe wiadomości i dbaj o zgodność z RODO.
- Analizuj wyniki i testuj różne pomysły.
Newsletter to coś więcej niż e-mail – to kanał zaufania i relacji z Twoimi odbiorcami.
Jeśli będziesz regularnie dostarczać wartość, Twoja lista będzie rosła, a Twoja marka – razem z nią.