Menu

Link Email HTML: mailto dengan Subject, Body, CC dan tel

Buat link yang membuka email baru dengan href="mailto:", isi subject, body, cc dan bcc, encode semuanya dengan benar, lalu buat link untuk menelepon dengan tel: dan sms:.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Awali href link dengan mailto: lalu alamat emailnya. Saat diklik, link ini membuka pesan baru ke alamat itu di aplikasi email pembaca.

Preview tidak membuka aplikasi lain: mengklik salah satu link ini di sana menampilkan alamat yang akan dibukanya. Di halaman sungguhan, link pertama membuka email baru dan link kedua memulai panggilan di ponsel.

Pakai alamat emailnya sendiri sebagai teks link. Pembaca yang belum mengatur aplikasi email (umum di desktop yang memakai webmail di browser) tetap bisa menyalinnya, sedangkan link yang hanya bertuliskan "Email kami" membuat mereka buntu.

Subject, body, cc dan bcc

Link mailto bisa mengisi lebih banyak bagian pesan. Tambahkan parameter sesudah ? dan gabungkan dengan &, seperti query string pada URL:

ParameterMengisiContoh
subjectBaris subject?subject=Order%20question
bodyIsi pesan&body=Hi%20there
ccPenerima tembusan&cc=sales@example.com
bccPenerima tembusan tersembunyi&bcc=log@example.com

Beberapa penerima ditulis di bagian alamat, dipisahkan koma: mailto:ana@example.com,bob@example.com.

Nilainya harus memakai URL encoding: spasi menjadi %20, pindah baris menjadi %0D%0A, & menjadi %26 dan ? menjadi %3F. Script di contoh ini menerjemahkan balik setiap link supaya kamu bisa melihat apa yang diterima aplikasi email:

Subject Order #123 harus ditulis Order%20%23123: # tanpa encoding akan mengakhiri URL di situ, dan body-nya hilang. Jangan pakai + untuk spasi juga. Di link mailto, + adalah tanda plus biasa, dan banyak aplikasi email menampilkannya apa adanya.

Encoding manual mudah salah. encodeURIComponent mengerjakannya untukmu. Ketik di kolom-kolomnya dan link di bawahnya ikut berubah:

encodeURIComponent mengubah & menjadi %26 dan pindah baris menjadi %0A; replace membuat pindah baris menjadi pasangan %0D%0A yang diharapkan email. Biarkan bagian alamat seperti yang diketik: @ dan , boleh ada di situ tanpa encoding.

tel: membuat link untuk menelepon. Tulis nomornya dengan kode negara dan tanpa spasi di href; teks yang terlihat boleh diformat sesukamu.

  • tel:+442079460958 berfungsi dari negara mana pun. Nomor lokal seperti tel:02079460958 hanya berfungsi untuk penelepon di dalam negara itu.
  • Tanda hubung boleh dipakai sebagai pemisah (tel:+1-555-123-4567); spasi bukan bagian dari formatnya, jadi jangan tulis spasi di href.
  • sms: membuka aplikasi pesan. Menambahkan pesan dengan ?body= berfungsi di banyak aplikasi, tapi dukungannya berbeda-beda, jadi jangan mengandalkannya.
  • Di desktop, tel: membuka aplikasi panggilan kalau ada yang terpasang (seperti FaceTime atau softphone), dan tidak melakukan apa-apa kalau tidak ada.

Safari di iPhone otomatis mengubah nomor telepon di teks biasa menjadi link. Kalau itu merusak sesuatu seperti nomor pesanan, matikan dengan <meta name="format-detection" content="telephone=no">.

Spam dan alamat email

Alamat di link mailto bisa dibaca oleh bot mana pun yang mengunduh halamannya. Trik seperti menulis hello [at] example [dot] com atau menyusun alamat dengan JavaScript menghentikan sebagian scraper sederhana, tapi juga membuat link lebih sulit dipakai. Formulir kontak, yang dibahas di form HTML, menjauhkan alamat dari halaman sepenuhnya. Untuk kebanyakan situs, filter spam yang bagus di kotak masuk adalah jawaban yang lebih sederhana.

Hindari <form action="mailto:...">. Cara ini bergantung pada aplikasi email pembaca, mengirim isian dalam bentuk URL encoded yang sulit dibaca, dan tidak memberimu konfirmasi bahwa ada yang terkirim.

Kesalahan umum

  • Lupa menulis mailto:. href="hello@example.com" adalah link relatif ke halaman yang namanya sama dengan alamat itu.
  • Spasi atau # tanpa encoding di subject atau body. Encode nilainya dengan %20, %23, atau encodeURIComponent.
  • Memakai + untuk spasi. Hasilnya muncul sebagai tanda plus.
  • ? kedua, bukan &. Hanya parameter pertama yang ditulis sesudah ?; sisanya digabungkan dengan &.
  • "Email kami" sebagai satu-satunya teks, sehingga pengguna webmail tidak punya apa pun untuk disalin.
  • Nomor telepon lokal di tel:. Sertakan kode negaranya.

Pertanyaan yang sering diajukan

Bagaimana cara membuat link email di HTML?

Pakai link yang href-nya diawali mailto: lalu alamat emailnya: <a href="mailto:hello@example.com">hello@example.com</a>. Saat diklik, link ini membuka pesan baru di aplikasi email default milik pembaca.

Bagaimana cara menambahkan subject ke link mailto?

Tambahkan sebagai parameter query sesudah ?: mailto:hello@example.com?subject=Order%20question. Encode spasi sebagai %20, dan gabungkan parameter lain dengan &, misalnya ?subject=Hi&body=Hello.

Bagaimana cara mengirim link mailto ke beberapa penerima?

Pisahkan alamatnya dengan koma: mailto:ana@example.com,bob@example.com. Pakai parameter cc= dan bcc= untuk tembusan: mailto:ana@example.com?cc=bob@example.com&bcc=cy@example.com.

Bagaimana cara membuat nomor telepon bisa diklik di HTML?

Pakai link tel: dengan nomor dalam format internasional: <a href="tel:+15551234567">+1 555 123 4567</a>. Di ponsel, link ini memulai panggilan; di desktop, link ini membuka aplikasi panggilan yang terpasang, kalau ada.

Kenapa link mailto-ku tidak melakukan apa-apa?

Link itu hanya menyerahkan alamatnya ke aplikasi email default. Kalau pembaca belum mengatur aplikasi email, yang umum terjadi di desktop yang memakai webmail, tidak ada hal berguna yang terjadi. Tampilkan alamatnya sebagai teks link supaya bisa disalin.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai