Menu

Format alamat email: batas panjang dan aturan yang sering ditolak

Format alamat email diatur standar, tetapi banyak layanan menerima lebih sempit. Kenali batas panjang tiap bagian dan bentuk yang sering ditolak.

Diterbitkan

  • format email
  • validasi
  • standar

Format alamat email terlihat sederhana sampai seseorang menulis validator sendiri dan menemukan bahwa alamat yang sah justru ditolaknya. Sebagian bentuk diizinkan oleh standar internasional tetapi tidak diterima oleh layanan di dunia nyata, dan sebagian lagi sebaliknya. Memahami batas-batas itu berguna baik bagi orang yang mendaftar maupun bagi tim yang membangun formulir pendaftaran.

Dua bagian yang dipisahkan tanda at

Sebuah alamat dibagi oleh tanda at menjadi dua bagian. Bagian kiri disebut bagian lokal, yaitu nama kotak yang dipilih pemiliknya. Bagian kanan adalah domain, yaitu tempat kotak itu berada. Aturan penulisan kedua bagian itu berbeda, dan sebagian besar kebingungan muncul karena keduanya diperlakukan seolah sama.

Yang perlu dipahami sejak awal: bagian kanan yang menentukan ke mana surat pergi. Bagian kiri hanya nama, dan banyak penyedia memperlakukan nama itu secara longgar. Karena itu, dua alamat yang berbeda pada bagian kirinya bisa berakhir di kotak yang sama, tergantung bagaimana penyedianya mengaturnya.

Selain pembagian itu, ada beberapa karakter yang lazim dipakai di bagian lokal, seperti titik, tanda tambah, dan garis bawah. Tidak satu pun di antaranya diwajibkan oleh standar, dan justru di situlah banyak pengguna terkecoh: aturan yang berlaku di satu penyedia dianggap berlaku di semua penyedia.

Batas panjang menurut standar

Standar internasional menetapkan batas panjang untuk masing-masing bagian. Angka-angka berikut adalah nilai standar, bukan nilai yang dijamin diterima oleh setiap layanan.

Bagian Batas menurut standar
Bagian lokal Tidak lebih dari 64 bita
Domain Tidak lebih dari 255 bita
Alamat lengkap, termasuk tanda kurung sudut Tidak lebih dari 256 bita

Di luar standar, ada kebiasaan yang berlaku luas di kalangan pembuat layanan: banyak implementasi membatasi alamat lengkapnya lebih ketat lagi, sekitar dua ratus lima puluh empat karakter. Angka itu bukan nilai standar, melainkan kebiasaan teknis yang muncul dari cara sebagian sistem menyimpan dan memindahkan alamat. Karena itu, alamat yang secara standar sah bisa saja ditolak oleh layanan yang memakai batas kebiasaan tersebut.

Bentuk yang sah menurut standar tetapi sering ditolak

Standar mengizinkan beberapa bentuk yang jarang terlihat di alamat sehari-hari. Bagian lokal boleh ditulis di dalam tanda kutip, sehingga karakter yang biasanya dilarang bisa muncul di dalamnya. Komentar dalam tanda kurung juga diizinkan pada beberapa posisi dalam alamat. Domain boleh ditulis sebagai alamat angka langsung di dalam tanda kurung siku, dan ada pula perluasan yang mengizinkan huruf di luar aksara Latin.

Kenyataannya, sebagian besar layanan tidak menerima bentuk-bentuk itu. Formulir pendaftaran biasanya memakai pemeriksaan sederhana tanpa dukungan untuk tanda kutip atau komentar, dan beberapa layanan bahkan menolak alamat yang panjangnya tidak wajar meski masih di bawah batas standar. Inilah yang dimaksud dengan ungkapan bahwa sah menurut standar tidak sama dengan diterima oleh layanan.

Bagi Anda yang sedang mendaftar, kesimpulannya praktis: tulis alamat dalam bentuk yang paling biasa. Bagi Anda yang membangun formulir, kesimpulannya lebih berat, dan dibahas di bagian berikutnya untuk pengembang.

Apakah alamat dengan huruf non-ASCII boleh dipakai?

Secara teknis ada perluasan standar yang mengizinkan huruf di luar aksara Latin pada bagian lokal maupun domain, sehingga sebuah alamat bisa ditulis memakai aksara lokal. Tetapi dukungannya tidak merata. Sebagian layanan menerima bentuk internasional dan menyimpannya dalam bentuk lain, sebagian lagi menolaknya sama sekali, dan sebagian ketiga menerimanya di formulir pendaftaran tetapi gagal ketika mengirim surat.

Karena itu, untuk keperluan pendaftaran yang penting, alamat dengan huruf Latin biasa masih jauh lebih aman. Bila produk Anda ingin menerima alamat internasional, sediakan pilihan untuk menonaktifkannya per akun, dan ujilah pengiriman surat ke alamat semacam itu, bukan hanya penyimpanannya.

Mengapa banyak layanan menerima lebih sempit dari standar?

Karena setiap lapisan di antaranya punya batasnya sendiri. Formulir web membatasi panjang masukan, basis data punya batas kolom, layanan pengiriman punya batas internal, dan penyaring keamanan mencurigai bentuk yang tidak biasa. Batas yang paling ketat di antara semuanya itulah yang akhirnya berlaku, meskipun tidak ada satu pun lapisan yang berniat menyimpang dari standar.

Ada pula alasan praktis: alamat yang sangat panjang dan penuh karakter khusus hampir selalu bukan alamat yang dibuat manusia, dan sebagian layanan menganggapnya sebagai tanda perilaku otomatis. Keputusan itu bisa dibenarkan, tetapi harus disadari konsekuensinya, yaitu beberapa pengguna sah akan ikut tertolak.

Karena itu, cara paling aman untuk mengetahui batas yang berlaku pada sebuah layanan bukanlah membaca dokumen standarnya, melainkan mencoba beberapa bentuk alamat pada layanan itu sendiri dan mencatat mana yang diterima. Standar memberi tahu Anda ruang yang mungkin, bukan ruang yang benar-benar dipakai.

Menguji batas ini dengan alamat sementara

Bila Anda ingin melihat sendiri bagaimana sebuah formulir memperlakukan alamat yang tidak biasa, email sementara di situs ini bisa dipakai sebagai tujuan uji. Anda bisa membuat alamat dengan awalan yang Anda tentukan sendiri, lalu mencoba berbagai bentuk awalan untuk melihat mana yang diterima formulir dan mana yang ditolak.

Ingatlah bahwa kotak ini disediakan untuk keperluan pengujian saja dan tidak layak dipakai sebagai identitas orang yang sebenarnya.

Untuk pengembang: jangan menolak alamat yang sah

Kesalahan paling umum pada validasi alamat adalah aturan yang terlalu ketat. Validator yang menolak alamat sah membuat sebagian pengguna tidak bisa mendaftar, dan mereka jarang mengeluh; mereka hanya pergi. Beberapa hal berikut layak diperhatikan.

Setel batas panjang kolom penyimpanan mengikuti standar, bukan mengikuti contoh alamat yang paling panjang yang pernah Anda lihat. Bila sistem Anda memotong alamat secara diam-diam, surat verifikasi akan terkirim ke tempat yang salah tanpa ada yang menyadarinya.

Jangan memakai pola pencocokan yang menuntut bentuk terlalu spesifik. Memeriksa keberadaan tanda at, adanya isi di kedua sisinya, dan panjang yang wajar sudah cukup untuk sebagian besar kasus. Aturan yang lebih ketat sebaiknya hanya ditambahkan bila ada alasan yang jelas.

Perhatikan perlakuan huruf besar dan kecil. Nama domain tidak membedakan huruf besar dan kecil, sedangkan bagian lokal secara standar bisa membedakannya, meski banyak penyedia memperlakukannya sama. Menyamakan keduanya dengan mengubah seluruh alamat menjadi huruf kecil adalah pilihan yang lazim, tetapi harus dipilih dengan sadar dan diuji.

Buang spasi di awal dan akhir masukan sebelum memeriksanya, karena spasi yang tidak sengaja tersalin adalah penyebab penolakan yang paling sering terjadi pada pengguna. Bila alamatnya tetap tidak diterima, tampilkan pesan yang menjelaskan bagian mana yang bermasalah, bukan pesan umum yang tidak membantu.

Aturan sintaks itu sendiri dijelaskan pada dokumen standar IETF untuk protokol pengiriman surat, RFC 5321, bila Anda perlu merujuk sumber aslinya.

Langkah berikutnya

Periksa kembali validator alamat di proyek Anda dan tanyakan satu hal untuk setiap aturan: apakah aturan ini menolak alamat yang sebenarnya sah. Bila jawabannya ya, longgarkan. Untuk memeriksa bagaimana sebuah formulir bereaksi terhadap berbagai bentuk alamat, gunakan email sementara sebagai tujuan uji, dan bandingkan juga dengan apa itu email sekali pakai agar tujuan pengujiannya tidak tertukar dengan alamat resmi.

Lanjut membaca

Artikel tentang Email sementara (sekali pakai / 10 menit)