ความยาวของที่อยู่อีเมลที่ถูกต้อง

ฝากรูป 1948865 วิ

วันนี้ฉันต้องขุดหามัน แต่คุณรู้ไหมว่าความยาวที่ถูกต้องของที่อยู่อีเมลคืออะไร? มันแตกออกเป็นส่วน ๆ ... Name@Domain.com. นี้เป็นไปตาม RFC2822.

  1. ชื่อสามารถมีความยาว 1 ถึง 64 อักขระ
  2. โดเมนมีความยาวได้ตั้งแต่ 1 ถึง 255 อักขระ

ว้าว…นั่นหมายความว่านี่อาจเป็นที่อยู่อีเมลที่ถูกต้อง:


loremaipsumadolorasitaametbaconsectetueraadipiscin
ขาย Handgel
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueaticiduntbadiamaidacondimn
tumarutrumbaturpisamassaacon แมลง
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

ลองใส่นามบัตรดูสิ! น่าแปลกที่ช่องที่อยู่อีเมลส่วนใหญ่จะ จำกัด ไว้ที่ 100 อักขระบนเว็บ ที่จริงไม่ถูกต้อง หากคุณต้องการตรวจสอบที่อยู่อีเมลสำหรับการก่อสร้างที่เหมาะสมโดยใช้ PHP ฉันพบตัวอย่างข้อมูลนี้ในเน็ต:

http://derrick.pallas.us/email-validator/ # ใบอนุญาต: ใบอนุญาตวิชาการฟรี 2.1 # เวอร์ชัน: 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)) ส่งคืนเท็จ; list ($ local, $ domain) = แยก ("@", $ email, 2); ถ้า (strlen ($ local)> 64 || strlen ($ domain)> 255) ส่งคืนเท็จ ถ้า ($ check &&! gethostbynamel ($ domain)) ส่งคืนเท็จ กลับจริง # END ######}

9 คอมเมนต์

  1. 1
  2. 2

    ใช่ฉันสังเกตเห็นการขาดการปฏิบัติตามแนวทางแก้ไขปัญหาอื่น ๆ กับ RFC เช่นกัน ฉันสังเกตเห็นว่าแม้นิพจน์ทั่วไปนี้จะผิดปกติและไม่ใช่มาตรฐาน ฉันจำได้ว่าการอ่าน regex จริง (การอนุญาตให้ <,> ฯลฯ ) นั้นเข้มข้นเกินไปสำหรับกระบวนการส่วนใหญ่

    อย่างไรก็ตามมันเขียนอย่างรวบรัดและเป็นโซลูชันที่ควรยอมรับได้สำหรับแอปพลิเคชันอีเมลขององค์กร

    ขอบคุณอีกครั้ง!
    ดั๊ก

  3. 3

    ขออภัยฉันเชื่อมโยงหน้านั้นกับ RFC ที่ไม่ถูกต้อง (2821 แทนที่จะเป็น 2822) แต่ได้รับการแก้ไขแล้ว วงเล็บเหลี่ยมไม่สามารถเป็นส่วนหนึ่งของส่วนโลคัลหรือโดเมนของที่อยู่อีเมล แต่เป็นตัวแทนของจุดโทเค็นกล่าวคือสามารถใช้เพื่อล้อมรอบที่อยู่อีเมล (เช่นในโปรแกรมอ่านเมลของคุณ) ได้อย่างแม่นยำเนื่องจากไม่สามารถเป็นส่วนหนึ่งของที่อยู่ได้

    สิ่งหนึ่งที่ฟังก์ชั่นของฉันไม่ได้ทำคือกังวลเกี่ยวกับรูปแบบที่อยู่อีเมลที่ยกมา - โดยที่ส่วนท้องถิ่นปรากฏในเครื่องหมายคำพูดคู่ - เนื่องจาก RFC2821 กล่าวว่าไม่มีใครต้องเขียนที่อยู่ด้วยวิธีนี้ (ฉันเชื่อว่าแบบฟอร์มนี้มีไว้สำหรับความเข้ากันได้แบบย้อนกลับและตอนนี้เป็นการปฏิบัติที่ไม่ดี)

  4. 4

    ที่จริงแล้ว RFC2821 เป็นการอ้างอิงที่ถูกต้องสำหรับความยาวของที่อยู่อีเมล ฉันพบที่นั่น แต่ไม่ใช่ใน RFC 2822

  5. 5

    มีข้อ จำกัด ใน RFC 2821 เกี่ยวกับความยาวของที่อยู่ในคำสั่ง MAIL และ RCPT ที่ 256 อักขระ โดยปกติขีด จำกัด บนของความยาวแอดเดรสควรเป็น 256

    - ที่มา: RFC 3696 Errata

    นอกจากนี้เนื่องจาก RFC 2181 ระบุว่า“ ชื่อโดเมนแบบเต็มถูก จำกัด ไว้ที่ 255 อ็อกเต็ต” ผู้คนจึงตีความผิดซ้ำ ๆ (รวมถึงผู้เขียน RFC อื่น ๆ ) เนื่องจากชื่อโดเมนมีความยาวได้ 255 ตัวอักษร แต่ RFC2181 กำลังพูดถึงการแสดงระดับโปรโตคอล DNS บนสายซึ่งไม่ใช่อักขระที่พิมพ์ได้

    ความยาวสูงสุดของชื่อโดเมนคือ 253 ตัวอักษร (254 รวมถึงจุดต่อท้าย, 255 อ็อกเต็ตบนเส้นลวดพร้อมกับการยุติ null) และนั่นคือสิ่งที่ BIND และ DiG นำไปใช้

  6. 6

    นักพัฒนาที่ประเมินขนาดที่อยู่อีเมลที่เป็นไปได้ต่ำเกินไปทำให้เกิดปัญหาดังนี้ http://www.eph.co.uk/resources/email-address-le...

    ฉันเดาว่าถ้าที่อยู่อีเมลของคุณมีขนาดเล็กเช่น“ jack1983@aol.com” คุณอาจคิดว่ามีอักขระ 30 ตัว

  7. 7

    ขออภัย URL ด้านบนเสีย ...

    นักพัฒนาที่ประเมินขนาดที่อยู่อีเมลที่เป็นไปได้ต่ำเกินไปทำให้เกิดปัญหาดังนี้

    http://www.eph.co.uk/resources/email-address-leng...

    ฉันเดาว่าถ้าที่อยู่อีเมลของคุณมีขนาดเล็กเช่น "jack1983@aol.com" คุณอาจคิดว่ามีอักขระ 30 ตัว

  8. 8

คุณคิดอย่างไร?

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.