Link mailto zapisujesz jako mailto:adres?subject=temat&body=treść, a temat i treść kodujesz procentowo w UTF-8. Jeśli na urządzeniu jest skonfigurowany program pocztowy, kliknięcie takiego linku zwykle otwiera nową wiadomość z wpisanym odbiorcą, tematem i początkiem treści.
W zakodowanym linku spacja zmienia się w %20, a nowa linia w %0D%0A. Każda litera z polskim znakiem diakrytycznym zajmuje w UTF-8 dwa bajty, więc „ż” zapisujesz jako %C5%BC. Poniżej znajdziesz gotowy link z adresem biuro@example.com. Domena example.com jest zarezerwowana do przykładów w dokumentacji.
mailto:biuro@example.com?subject=Zapytanie%20o%20ofert%C4%99&body=Dzie%C5%84%20dobry%2C%0D%0Aprosz%C4%99%20o%20wycen%C4%99.
Po rozkodowaniu temat brzmi „Zapytanie o ofertę”. Treść ma dwa wiersze, „Dzień dobry,” oraz „proszę o wycenę.”, a przecinek zapisano jako %2C. Wartości tematu i treści zakodowaliśmy ręcznie, stosując zasady funkcji encodeURIComponent. Zanim go opublikujesz, otwórz go w swoim programie pocztowym i sprawdź, jak wygląda wiadomość.
Jak zbudować link mailto w generatorze Digily Link
W Generatorze linków mailto wpisujesz adres, temat i treść w osobne pola, a gotowy link pojawia się w polu „Wynik”. Digily Link to nasz produkt, a generator działa w Twojej przeglądarce. Nie ma w nim przycisku do generowania. Link powstaje w chwili, gdy zmienisz zawartość pola i je opuścisz, na przykład klikając kolejne pole albo naciskając Tab.
- W polu „Adres odbiorcy” wpisz jeden adres e-mail. To pole typu e-mail, więc przeglądarka oczekuje w nim jednego poprawnego adresu.
- Jeśli ktoś ma dostać kopię wiadomości, wpisz jego adres w polu „DW”. Adres do kopii ukrytej wpisz w polu „UDW”. W obu polach podawaj wyłącznie proste adresy e-mail, bo generator ich nie koduje (więcej o tym niżej). Pamiętaj, że adres z pola UDW będzie widoczny w samym linku, choć program pocztowy ukryje go przed innymi odbiorcami.
- W polu „Temat” wpisz temat, na przykład „Zapytanie o ofertę”. Polskie litery i spacje piszesz normalnie, a generator sam je zakoduje.
- W polu „Treść wiadomości” wpisz początek wiadomości, który ma zobaczyć osoba klikająca link. Każde przejście do nowego wiersza generator zapisze jako %0A.
- Kliknij poza ostatnim edytowanym polem, żeby generator przeliczył link.
- Skopiuj link z pola „Wynik” i kliknij go albo wklej do paska adresu przeglądarki. Sprawdź w programie pocztowym, czy temat, treść i podziały wierszy wyglądają tak, jak chcesz.
Spacje na początku i na końcu tematu oraz treści generator usuwa sam, więc nie musisz ich pilnować.
Kodowanie polskich znaków i nowej linii w linku mailto
Każdy znak, który nie może wystąpić w adresie bezpośrednio, zapisujesz jako „%” i dwie cyfry szesnastkowe, a polskie litery najpierw zamieniasz na bajty UTF-8. Reguły opisuje standard RFC 6068 (stan na 29 października 2026 r., rozdziały 2 i 5). Oto najważniejsze z nich.
- Spację w treści zapisujesz jako %20.
- Podział wiersza w treści musi być zakodowany jako %0D%0A. Standard używa tu słowa „MUST”, więc jest to wymóg, a nie zalecenie.
- Znaki &, ; i = występujące wewnątrz wartości pól trzeba zakodować. To samo dotyczy znaków %, /, ?, #, [ i ]. Nie koduj natomiast znaków ?, & i =, które w linku oddzielają pola i ich wartości.
- Litery spoza ASCII, czyli ą, ę, ł, ż i pozostałe polskie znaki, zamieniasz na sekwencję UTF-8 i kodujesz osobno każdy jej bajt.
Niezakodowany znak & może zostać odczytany jako początek kolejnego pola, a # jako początek fragmentu adresu. W obu przypadkach część tekstu może nie trafić do treści wiadomości, dlatego zapisuj te znaki jako %26 i %23.
| Znak | Zapis w linku mailto |
|---|---|
| ą | %C4%85 |
| ć | %C4%87 |
| ę | %C4%99 |
| ł | %C5%82 |
| ń | %C5%84 |
| ó | %C3%B3 |
| ś | %C5%9B |
| ż | %C5%BC |
| spacja | %20 |
| przecinek | %2C |
| & | %26 |
| # | %23 |
| nowa linia | %0D%0A |
Wielkie litery ze znakami diakrytycznymi oraz „ź” mają odrębne sekwencje, dlatego nie koduj tekstu ręcznie na podstawie tabeli. Lepiej zostaw to generatorowi albo funkcji encodeURIComponent.
Sprawdziliśmy to 29 października 2026 r. w Node v26. Wywołanie encodeURIComponent('Zażółć gęślą\nDzień dobry & #1') zwróciło następujący wynik.
Za%C5%BC%C3%B3%C5%82%C4%87%20g%C4%99%C5%9Bl%C4%85%0ADzie%C5%84%20dobry%20%26%20%231
Słowo „Zażółć” zamieniło się w Za%C5%BC%C3%B3%C5%82%C4%87, znak & w %26, a # w %23. Nowa linia została jednak zapisana jako %0A, a nie %0D%0A. Jeśli kodujesz treść w JavaScripcie, przed wywołaniem encodeURIComponent zamień wszystkie rodzaje końca wiersza na CRLF, na przykład encodeURIComponent(tresc.replace(/\r\n|\r|\n/g, '\r\n')). Zamiana %0A na %0D%0A dopiero po kodowaniu może zdublować znak powrotu karetki, jeśli tekst miał już CRLF.
Standard zaznacza też, że twórca linku mailto może liczyć tylko na to, że program pocztowy zrozumie temat (subject) i treść (body). Każde pole podawaj w linku tylko raz. Gdy subject albo body powtarza się w jednym linku, zachowanie zależy od programu pocztowego.
Czego generator linków mailto nie robi
Generator poprawnie koduje temat i treść, ale ma trzy ograniczenia, które warto znać przed publikacją linku.
Nowa linia jako %0A zamiast %0D%0A
Generator koduje temat i treść, więc polskie znaki i spacje są bezpieczne. Nowa linia trafia jednak do linku jako %0A. Standard RFC 6068 wymaga %0D%0A. Niektóre programy pocztowe radzą sobie z %0A, ale aby link był zgodny ze standardem, przed publikacją zamień %0A na %0D%0A ręcznie. Wystarczy do tego funkcja „Znajdź i zamień” w edytorze tekstu, zanim wkleisz link na stronę.
Pola DW i UDW bez kodowania
Pola DW i UDW nie są kodowane. Generator dokleja ich zawartość do linku dokładnie w takiej postaci, w jakiej ją wpiszesz. Jeśli wpiszesz tam coś więcej niż adres, na przykład tekst ze spacją albo ze znakiem &, link przestanie działać poprawnie. Nawet poprawny adres może zawierać znaki takie jak & czy %, które w linku trzeba zakodować. Wpisuj więc w te pola proste adresy e-mail, a adresy ze znakami specjalnymi przygotuj ręcznie według RFC 6068.
Adresy z pola UDW nie są w linku ukryte. Każdy, kto zobaczy kod strony albo zawartość kodu QR, przeczyta je. Nie umieszczaj w publicznym linku adresów, których nie chcesz ujawniać.
Brak gotowego kodu HTML
Opis narzędzia zapowiada link „z tematem, treścią, cc, bcc i kodem HTML”, ale w polu „Wynik” dostajesz sam link. Generator nie tworzy kodu HTML. Gotowy link wstaw sam do znacznika <a href="...">, tak jak w przykładzie w dalszej części tekstu. Jeśli link ma kilka pól, w kodzie HTML zapisz separator & jako &.
Kilku odbiorców w jednym linku mailto
Kilka adresów w linku mailto oddzielasz przecinkami, a osoby, które mają dostać kopię, dodajesz parametrami cc i bcc. Składnia w RFC 6068 przewiduje kilka adresów rozdzielonych przecinkami. W standardzie znajdziesz też przykład mailto:joe@an.example?cc=bob@an.example&body=hello, w którym bob dostaje kopię, a treść brzmi „hello”.
W generatorze pole „Adres odbiorcy” jest polem typu e-mail, więc przeglądarka może oznaczyć listę adresów rozdzielonych przecinkami jako błędną. Nie sprawdzaliśmy, czy link mimo to powstanie, dlatego w takiej sytuacji zajrzyj do pola „Wynik”. Jeśli chcesz mieć kilku głównych odbiorców, przygotuj link ręcznie, oddzielając adresy przecinkami. Pole „DW” służy do kopii wiadomości, więc odbiorca kopii to nie to samo co główny odbiorca. Programy pocztowe mogą różnie obsługiwać wielu odbiorców i parametry cc oraz bcc, więc przetestuj link w programie, z którego korzystają Twoi klienci.
Jak wstawić link mailto na stronę, do bio i w kod QR
Gotowy link mailto wklejasz jako adres linku, czyli w HTML do atrybutu href, a na stronie bio jako adres przycisku.
Link mailto w kodzie HTML strony
Skopiuj link z pola „Wynik” i wstaw go do znacznika a. Oto przykład ze zmyślonym adresem.
<a href="mailto:biuro@example.com?subject=Zapytanie%20o%20ofert%C4%99">Napisz do nas</a>
Tekst linku powinien mówić, co się stanie po kliknięciu. „Napisz do nas” albo „Zapytaj o wycenę” mówi więcej niż „kliknij tutaj”. Taki sam link możesz dodać w stopce strony albo w wysyłanych wiadomościach. Jeśli przy okazji porządkujesz stopkę maili, przeczytaj, jak stworzyć profesjonalny podpis e-mail.
Link mailto na stronie bio
W Digily Link blok „Przycisk” jest dostępny także w darmowym planie. Pole adresu przycisku przyjmuje także linki zaczynające się od mailto. Wklej link mailto jako adres przycisku i nadaj mu nazwę, na przykład „Napisz do nas”. Po zapisaniu strony kliknij przycisk na własnym telefonie i sprawdź, czy otwiera się nowa wiadomość z tematem i treścią.
Kod QR, który otwiera wiadomość e-mail
Jeśli ktoś ma do Ciebie napisać po zeskanowaniu kodu, wybierz w Digily Link kod QR typu e-mail. Przed drukiem zeskanuj go swoim telefonem i sprawdź, czy telefon proponuje otwarcie programu pocztowego oraz czy w nowej wiadomości są adres, temat i treść, których oczekujesz. Zachowanie zależy od aparatu i zainstalowanych aplikacji. Jeśli kod ma trafić na papier, przyda się też nasz poradnik o tym, jak przygotować kod QR na wizytówce.
Kiedy link mailto nie zadziała
Link mailto może niczego nie otworzyć, jeśli na urządzeniu nie skonfigurowano aplikacji ani usługi pocztowej do obsługi takich linków. Dotyczy to także poczty w przeglądarce, jeśli nie ustawiono jej jako domyślnej dla linków mailto. Bywa też, że otworzy się program, którego ktoś w ogóle nie używa, i wiadomość nie zostanie wysłana.
Dlatego obok przycisku lub linku pokaż adres e-mail zwykłym tekstem, żeby można go było skopiować. Pamiętaj też, że według standardu można liczyć tylko na temat i treść, więc niektóre programy mogą pominąć adresy z pól DW i UDW. Jeśli kopia jest ważna, wspomnij o niej w treści wiadomości.
Najczęstsze błędy w linku mailto i jak je naprawić
Większość problemów z linkiem mailto bierze się z jednego niezakodowanego znaku albo z kodowania innego niż UTF-8. Tabela pomoże Ci szybko znaleźć przyczynę.
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Treść urywa się po „&” | Znak & nie został zakodowany i może zostać odczytany jako początek kolejnego pola | Zapisz go jako %26 |
| Treść urywa się po „#” | Znak # zaczyna fragment adresu | Zapisz go jako %23 |
| „+” w miejscu spacji | Spacja zapisana jako „+” | Użyj %20 na spację, jak w przykładach RFC 6068 |
| Brak nowych linii | Program pocztowy nie rozpoznaje %0A | Zamień %0A na %0D%0A |
| Krzaki zamiast „ą ę ł” | Tekst zakodowano w innym kodowaniu niż UTF-8 | Zakoduj tekst w UTF-8 |
Jeśli nie chcesz kodować tekstu ręcznie, zbuduj link mailto w generatorze Digily Link. Potem zamień %0A na %0D%0A, żeby link był zgodny ze standardem, i przed publikacją przetestuj link na komputerze oraz telefonie.