Jak zrobić link e-mail
Zacznij href linku od mailto: i adresu. Kliknięcie otwiera nową wiadomość na ten adres w programie pocztowym czytelnika.
Podgląd nie otwiera innych aplikacji: kliknięcie jednego z tych linków pokazuje w nim adres, który zostałby otwarty. Na prawdziwej stronie pierwszy otwiera nowego e-maila, a drugi rozpoczyna połączenie na telefonie.
Jako tekstu linku używaj samego adresu. Czytelnik bez skonfigurowanego programu pocztowego (częste na komputerach, gdzie poczta działa w przeglądarce) nadal może go skopiować, a link z samym "Napisz do nas" zostawia go bez wyjścia.
Temat, treść, cc i bcc
Link mailto może uzupełnić więcej elementów wiadomości. Dodaj parametry po ? i łącz je przez &, jak w query stringu adresu URL:
| Parametr | Uzupełnia | Przykład |
|---|---|---|
subject | Temat wiadomości | ?subject=Order%20question |
body | Treść wiadomości | &body=Hi%20there |
cc | Odbiorców kopii (DW) | &cc=sales@example.com |
bcc | Odbiorców ukrytej kopii (UDW) | &bcc=log@example.com |
Wielu odbiorców wpisuje się w części z adresem, oddzielonych przecinkami: mailto:ana@example.com,bob@example.com.
Wartości muszą być zakodowane jak w URL: spacja to %20, podział linii to %0D%0A, & to %26, a ? to %3F. Skrypt w tym przykładzie dekoduje każdy link, żeby było widać, co dostaje program pocztowy:
Temat Order #123 trzeba zapisać jako Order%20%23123: goły # zakończyłby w tym miejscu URL i treść by przepadła. Nie używaj też + zamiast spacji. W linku mailto + to dosłowny znak plus i wiele programów pocztowych tak go pokazuje.
Budowanie linku mailto w JavaScript
Ręczne kodowanie łatwo zepsuć. encodeURIComponent robi to za ciebie. Wpisz coś w pola, a link poniżej się zaktualizuje:
encodeURIComponent zamienia & na %26, a podział linii na %0A; replace zamienia podziały linii na parę %0D%0A, której oczekuje e-mail. Część z adresem zostaw bez zmian: @ i , są tam dozwolone bez kodowania.
Linki telefoniczne przez tel: i sms:
tel: tworzy link do dzwonienia jednym kliknięciem. W href wpisz numer z kodem kraju i bez spacji; widoczny tekst możesz sformatować dowolnie.
tel:+442079460958działa z każdego kraju. Lokalny numer jaktel:02079460958działa tylko dla dzwoniących z tego kraju.- Łączniki są dozwolone jako separatory (
tel:+1-555-123-4567); spacje nie należą do formatu, więc pomiń je whref. sms:otwiera aplikację do wiadomości. Dodanie treści przez?body=działa w wielu aplikacjach, ale obsługa się różni, więc nie polegaj na tym.- Na komputerze
tel:otwiera aplikację do dzwonienia, jeśli jest zainstalowana (na przykład FaceTime albo softphone), a w przeciwnym razie nic nie robi.
Safari na iPhonie samo zamienia numery telefonów w zwykłym tekście na linki. Jeśli to psuje coś takiego jak numer zamówienia, wyłącz to przez <meta name="format-detection" content="telephone=no">.
Spam i adresy e-mail
Adres w linku mailto może odczytać każdy bot, który pobierze stronę. Sztuczki w rodzaju hello [at] example [dot] com albo składania adresu w JavaScript zatrzymują część prostych scraperów, ale utrudniają też korzystanie z linku. Formularz kontaktowy, opisany w formularze HTML, całkowicie usuwa adres ze strony. W przypadku większości stron prostszym rozwiązaniem jest dobry filtr antyspamowy w skrzynce.
Unikaj <form action="mailto:...">. Zależy od programu pocztowego czytelnika, wysyła pola zakodowane jak w URL i trudne do odczytania, i nie daje żadnego potwierdzenia, że coś zostało wysłane.
Częste błędy
- Zapomniane
mailto:.href="hello@example.com"to względny link do strony nazwanej jak adres. - Niezakodowane spacje lub
#w temacie albo treści. Koduj wartości przez%20,%23alboencodeURIComponent. +zamiast spacji. Wyświetla się jako znak plus.- Drugi
?zamiast&. Tylko pierwszy parametr stoi po?; resztę łączy się przez&. - "Napisz do nas" jako jedyny tekst, co nie zostawia użytkownikom poczty w przeglądarce niczego do skopiowania.
- Lokalne numery telefonów w
tel:. Dodaj kod kraju.
Najczęściej zadawane pytania
Jak utworzyć link e-mail w HTML?
Użyj linku, którego href zaczyna się od mailto:, a po nim jest adres: <a href="mailto:hello@example.com">hello@example.com</a>. Kliknięcie otwiera nową wiadomość w domyślnym programie pocztowym czytelnika.
Jak dodać temat do linku mailto?
Dodaj go jako parametr zapytania po ?: mailto:hello@example.com?subject=Order%20question. Spacje koduj jako %20, a kolejne parametry łącz przez &, na przykład ?subject=Hi&body=Hello.
Jak wysłać link mailto do wielu odbiorców?
Oddziel adresy przecinkami: mailto:ana@example.com,bob@example.com. Do kopii użyj parametrów cc= i bcc=: mailto:ana@example.com?cc=bob@example.com&bcc=cy@example.com.
Jak zrobić klikalny numer telefonu w HTML?
Użyj linku tel: z numerem w formacie międzynarodowym: <a href="tel:+15551234567">+1 555 123 4567</a>. Na telefonach rozpoczyna połączenie; na komputerze otwiera zainstalowaną aplikację do dzwonienia, jeśli jakaś jest.
Dlaczego mój link mailto nic nie robi?
Link tylko przekazuje adres domyślnemu programowi pocztowemu. Jeśli czytelnik go nie skonfigurował, co jest częste na komputerach, gdzie używa się poczty w przeglądarce, nic przydatnego się nie dzieje. Pokaż adres jako tekst linku, żeby dało się go skopiować.