Panjang Alamat Email yang Valid

Depositphotos 1948865 dtk

Saya harus melakukan penggalian hari ini untuk menemukannya, tetapi tahukah Anda berapa panjang alamat email yang valid? Ini sebenarnya dipecah menjadi beberapa bagian… Nama@Domain.com. Ini menurut RFC2822.

  1. Nama dapat terdiri dari 1 hingga 64 karakter.
  2. Domain dapat terdiri dari 1 hingga 255 karakter.

Wow… artinya ini bisa jadi alamat email yang valid:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Coba paskan itu di kartu nama! Ironisnya, sebagian besar bidang alamat email dibatasi hingga 100 karakter di web. Itu sebenarnya tidak valid. Jika Anda ingin memvalidasi alamat email untuk konstruksi yang tepat menggunakan PHP, saya menemukan cuplikan ini di internet:

http://derrick.pallas.us/email-validator/ # Lisensi: Lisensi Gratis Akademik 2.1 # Versi: 2006-12-01a if (! ereg (''. '^'. '[-! # $% & \ '* + / 0-9 =? AZ ^ _a-z {|} ~]'. '(\\.? [-! # $% & \' * + / 0-9 =? AZ ^ _a-z { |} ~]) * '.' @ '.' [a-zA-Z] (-? [a-zA-Z0-9]) * '.' (\\. [a-zA-Z] (- ? [a-zA-Z0-9]) *) + '.' $ ', $ email)) return false; list ($ local, $ domain) = split ("@", $ email, 2); if (strlen ($ local)> 64 || strlen ($ domain)> 255) return false; if ($ check &&! gethostbynamel ($ domain)) return false; kembali benar; # SELESAI ######}

9 Komentar

  1. 1
  2. 2

    Ya, saya juga memperhatikan kurangnya kepatuhan solusi lain dengan RFC. Saya perhatikan, meskipun, regex ini atipikal dan bukan standar. Saya ingat membaca regex aktual (mengizinkan <,>,, dll) terlalu intensif untuk sebagian besar proses.

    Namun, ini ditulis secara ringkas dan pasti merupakan solusi yang harus dapat diterima oleh aplikasi email perusahaan apa pun.

    Terima kasih lagi!
    Doug

  3. 3

    Sayangnya, saya menautkan halaman itu ke RFC yang salah (2821, bukan 2822) tetapi itu sudah diperbaiki. Tanda kurung sudut tidak boleh menjadi bagian dari bagian lokal atau domain dari sebuah alamat email; melainkan, mereka mewakili poin tokenisasi, yaitu mereka dapat digunakan untuk melingkupi alamat email (misalnya di pembaca surat Anda) justru karena mereka tidak bisa menjadi bagian dari alamat.

    Satu hal yang fungsi saya tidak lakukan adalah mengkhawatirkan bentuk kutipan alamat email - di mana bagian lokalnya muncul dalam tanda kutip ganda - karena RFC2821 pada dasarnya mengatakan bahwa tidak seorang pun harus menulis alamat mereka seperti itu. (Saya yakin formulirnya untuk kompatibilitas ke belakang dan sekarang merupakan praktik yang buruk.)

  4. 4

    Sebenarnya RFC2821 ADALAH referensi yang benar untuk panjang alamat email. Saya menemukannya di sana, tetapi tidak di RFC 2822.

  5. 5

    Ada batasan di RFC 2821 tentang panjang alamat dalam perintah MAIL dan RCPT 256 karakter. Batas atas panjang alamat biasanya harus dianggap 256.

    - Sumber: RFC 3696 Errata

    Juga, karena RFC 2181 mengatakan “Nama domain lengkap dibatasi hingga 255 oktet”, ini berulang kali disalahartikan oleh orang-orang (termasuk penulis RFC lain) sebagai arti bahwa nama domain bisa sepanjang 255 karakter. Tetapi RFC2181 berbicara tentang representasi tingkat protokol DNS pada kabel, bukan karakter yang dapat dicetak.

    Panjang maksimum nama domain adalah 253 karakter (254 termasuk tanda titik, 255 oktet pada kabel dengan penghentian null). Dan itulah yang BIND dan DiG implementasikan.

  6. 6
  7. 7
  8. 8

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.