Przejdź do głównej zawartości

Weryfikacja adresu e-mail

Double opt-in potwierdza, ze podany e-mail naprawdę należy do osoby zakładającej konto. Wtyczka Polski for WooCommerce wysyła link aktywacyjny i blokuje logowanie do momentu kliknięcia w ten link.

Polskie prawo nie wymaga double opt-in, ale warto go włączyć ze względu na:

  • RODO - potwierdzasz tożsamość właściciela e-maila
  • Ochrona przed botami - blokuje fałszywe konta
  • Jakość bazy - masz pewność, że e-maile są prawdziwe
  • Dostarczalność - mniej odbitych wiadomości i oznaczeń jako spam
  • Ustawa o usługach elektronicznych - potwierdzenie chęci korzystania z usługi

Przejdź do WooCommerce > Ustawienia > Polski > Kasa i skonfiguruj sekcję “Weryfikacja e-mail”.

UstawienieDomyślna wartośćOpis
Włącz weryfikację e-mailNieAktywuje mechanizm double opt-in
Czas ważności linku48 godzinJak długo link aktywacyjny jest aktywny
Automatyczne usuwanie niezweryfikowanych7 dniPo ilu dniach usunąć niezweryfikowane konta
Pozwól na zakupy bez weryfikacjiNieCzy niezweryfikowany użytkownik może składać zamówienia
UstawienieOpis
Przekierowanie po aktywacjiURL, na który użytkownik zostanie przekierowany po kliknięciu linku
Strona oczekiwaniaStrona wyświetlana zamiast panelu “Moje konto” dla niezweryfikowanych
Ponowne wysłanie linkuCzy wyświetlać przycisk “Wyślij ponownie link aktywacyjny”
Limit ponownych wysyłekMaksymalna liczba ponownych wysyłek linku (ochrona przed nadużyciami)
  1. Klient rejestruje konto (przez “Moje konto” lub przy zamówieniu)
  2. Wtyczka generuje token aktywacyjny i zapisuje go w bazie
  3. E-mail z linkiem aktywacyjnym trafia na podany adres
  4. Konto ma status “niezweryfikowane” - logowanie zablokowane
  5. Klient klika link w e-mailu
  6. Wtyczka sprawdza token, aktywuje konto i loguje klienta
  7. Klient trafia na stronę “Moje konto” lub wybrany URL

Jeśli opcja “Pozwól na zakupy bez weryfikacji” jest wyłączona:

  • zamówienie nie zostanie złożone, dopóki klient nie zweryfikuje e-maila
  • klient zobaczy komunikat z instrukcją sprawdzenia skrzynki pocztowej

Jeśli opcja jest włączona:

  • zamówienie zostanie złożone normalnie
  • konto będzie wymagało weryfikacji przy następnym logowaniu
  • e-mail aktywacyjny zostanie wysłany równolegle z potwierdzeniem zamówienia

Niezweryfikowani użytkownicy nie mogą się zalogować. Widzą komunikat:

“Twoje konto nie zostało jeszcze zweryfikowane. Sprawdź swoją skrzynkę e-mail i kliknij link aktywacyjny. [Wyślij ponownie link]“

Komunikat zmienisz w ustawieniach wtyczki. Dostępne zmienne:

ZmiennaOpis
{email}Adres e-mail użytkownika
{resend_link}Link do ponownego wysłania e-maila aktywacyjnego
{expiry}Czas ważności linku

Przykład niestandardowego komunikatu:

Konto {email} wymaga weryfikacji. Kliknij link w e-mailu, który wysłaliśmy.
Nie otrzymałeś wiadomości? {resend_link}

Wtyczka dodaje nowy typ e-maila w WooCommerce > Ustawienia > E-maile > Weryfikacja adresu e-mail.

Dostępne ustawienia:

UstawienieOpis
Włącz/wyłączAktywuje wysyłkę e-maila
TematTemat wiadomości (domyślnie: “Potwierdź swój adres e-mail”)
NagłówekNagłówek w treści e-maila
TreśćDodatkowy tekst nad linkiem aktywacyjnym
Typ e-mailaHTML lub zwykły tekst
ZmiennaOpis
{site_title}Nazwa sklepu
{customer_name}Imię klienta
{activation_link}Link aktywacyjny (pełny URL)
{activation_button}Przycisk aktywacyjny (HTML)
{expiry_hours}Czas ważności linku w godzinach

Aby dostosować szablon HTML, skopiuj plik:

wp-content/plugins/polski/templates/emails/email-verification.php

do:

wp-content/themes/twoj-motyw/woocommerce/emails/email-verification.php
add_action('polski/email_verification/before_verify', function (int $user_id, string $token): void {
// Logika przed aktywacją konta
// np. logowanie zdarzenia
error_log(sprintf('Weryfikacja e-mail dla użytkownika #%d', $user_id));
}, 10, 2);
add_action('polski/email_verification/verified', function (int $user_id): void {
// Logika po aktywacji konta
// np. przypisanie roli, wysłanie powitalnego e-maila
$user = new WP_User($user_id);
$user->set_role('customer');
}, 10, 1);
add_filter('polski/email_verification/redirect_url', function (string $url, int $user_id): string {
return wc_get_page_permalink('myaccount') . 'edit-account/';
}, 10, 2);
add_filter('polski/email_verification/token_expiry', function (int $hours): int {
return 72; // 72 godziny zamiast domyślnych 48
});
$is_verified = get_user_meta($user_id, '_polski_email_verified', true);
if ($is_verified !== 'yes') {
// Konto niezweryfikowane
}

Wtyczka pozwala wysłać link aktywacyjny ponownie maksymalnie 5 razy na godzinę na jeden e-mail. Limit zmienisz w ustawieniach.

  • Tokeny są generowane przez wp_generate_password(32, false) - bezpieczne kryptograficznie
  • Każdy token działa tylko raz
  • Tokeny wygasają po ustawionym czasie
  • WP-Cron automatycznie usuwa wygasłe tokeny
  1. Sprawdź folder spam/junk
  2. Zweryfikuj konfigurację SMTP (zalecane: WP Mail SMTP lub podobna wtyczka)
  3. Sprawdź logi e-maili w WooCommerce > Status > Logi
  4. Upewnij się, że e-mail nie jest blokowany przez serwer pocztowy
  1. Sprawdź, czy link nie wygasł (domyślnie 48 godzin)
  2. Zweryfikuj, czy permalink w WordPress jest poprawnie skonfigurowany
  3. Sprawdź, czy wtyczka bezpieczeństwa nie blokuje URL z tokenem

Klient zweryfikował e-mail, ale nie może się zalogować

Dział zatytułowany „Klient zweryfikował e-mail, ale nie może się zalogować”
  1. Sprawdź, czy meta _polski_email_verified ma wartość yes w profilu użytkownika
  2. Zweryfikuj, czy inna wtyczka nie blokuje logowania
  3. Sprawdź, czy konto nie zostało oznaczone jako spam przez antyspam
Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.