ความยาวสูงสุดของที่อยู่อีเมลที่ถูกต้องคืออะไร?


987

ความยาวสูงสุดของที่อยู่อีเมลที่ถูกต้องคืออะไร? มันถูกกำหนดโดยมาตรฐานใด ๆ


ที่อยู่อีเมลแบบใด อินเทอร์เน็ต X.400 หรืออื่น ๆ
Toby Speight

โปรดทราบว่าการจำกัดความยาวแอพของคุณควรกำหนดที่อยู่อีเมลอาจไม่เหมือนกับค่าสูงสุดทางทฤษฎี (ซึ่งยาวกว่าความคิดเห็นทั้งหมด ) คำตอบอื่น ๆ พูดถึงคำถามนั้นเช่น: stackoverflow.com/questions/1297272
MGOwen

คำตอบ:


1205

ที่อยู่อีเมลต้องไม่เกิน254ตัวอักษร

นี้ได้รับการยอมรับโดย IETF ต่อไปนี้erratum ส่ง การวินิจฉัยเต็มรูปแบบของที่อยู่ใดก็ตามสามารถใช้ได้ออนไลน์ RFC 3696 เวอร์ชันเดิมอธิบาย 320 เป็นความยาวสูงสุด แต่ภายหลัง John Klensin ยอมรับค่าที่ไม่ถูกต้องเนื่องจาก Path ถูกกำหนดเป็น

Path = "<" [ A-d-l ":" ] Mailbox ">"

ดังนั้นองค์ประกอบกล่องจดหมาย (เช่นที่อยู่อีเมล) จึงมีวงเล็บมุมอยู่รอบ ๆ เพื่อสร้างพา ธ ซึ่งความยาวสูงสุด 254 อักขระเพื่อจำกัดความยาวของพา ธ เป็น 256 ตัวอักษรหรือน้อยกว่า

ความยาวสูงสุดที่ระบุในRFC 5321สถานะ:

ความยาวรวมสูงสุดของ reverse-path หรือ forward-path คือ 256 อักขระ

RFC 3696 ได้รับการแก้ไขที่นี่

ผู้คนควรตระหนักถึงความผิดพลาดต่อ RFC 3696 เป็นพิเศษ ตัวอย่างที่ยอมรับได้สามตัวอย่างนั้นเป็นที่อยู่ที่ไม่ถูกต้อง

ฉันได้รวบรวมที่อยู่ทดสอบสองร้อยครั้งซึ่งคุณสามารถดูได้ที่http://www.dominicsayers.com/isemail


7
มาตรฐาน RFC ใหม่ที่อนุญาตให้ Unicode อยู่ในที่อยู่อีเมลคืออะไร
Pacerier

3
จำนวนอักขระที่อยู่หน้า @ และจำนวนเท่าใดหลังจากนั้นหรือไม่สำคัญ?
systemovich

5
@Lodewijk RFC 3696 ไม่ใช่มาตรฐาน แต่ก็พยายามช่วยให้คนตีความมาตรฐานที่ถูกต้อง โชคไม่ดีในความพยายามของเขาที่จะอธิบายสถานการณ์ Klensin รวมข้อผิดพลาดทั้งหมดที่แก้ไขใน Errata แต่ไม่มีใครอ่านข้อผิดพลาดดังนั้น RFC 3693 จึงกลายเป็นคนที่ไม่ช่วยเหลือมาก
Dominic Sayers

3
ฉันเชื่อว่าด้วยที่อยู่อีเมลสากลมันจะถูกต้องมากขึ้นในการกำหนดขีด จำกัด เป็น 254 octetไม่ใช่ตัวอักษร แต่ฉันไม่แน่ใจ. RFC 6531 ขยาย RFC 5321 reverse- และ forward-path เพื่อให้สามารถใช้อักขระ UTF-8 ได้ แต่ RFC 5321 ระบุว่าข้อ จำกัด คือ "256 octets" รวมถึงตัวแยก ฉันเชื่อว่าขีด จำกัด 256 octet (ลบ 2 สำหรับ 254) ไม่ถูกแทนที่และการจำกัดอักขระที่มีประสิทธิภาพจะลดลงสำหรับที่อยู่ที่มีอักขระ UTF-8 หลายไบต์
Andre D

1
@JohnLBevan เนื่องจากโดเมนถูกใช้เพื่อวัตถุประสงค์อื่นนอกเหนือจากอีเมลและกำหนดโดย RFC ต่างๆ ฉันแน่ใจว่า Jon Postel หวังว่าเขาจะทำให้มันสอดคล้องกันมากขึ้น แต่ในเวลาที่โดเมนส่วนใหญ่สั้นมากและมันเกินความเป็นจริงที่จะทำลายที่อยู่ซองจดหมายในแพ็คเก็ตสองซองขึ้นไปเพียงคำนึงถึงศักยภาพของโดเมนที่ยาวมาก ชื่อ
โดมินิคเซเยอร์ส

38

320

และกลุ่มมีลักษณะเช่นนี้

{64} @ {255}

64 + 1 + 255 = 320

คุณควรอ่านสิ่งนี้หากคุณตรวจสอบอีเมล

http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx


อย่างไรก็ตามตามข้อมูลจำเพาะนี้ (สำหรับข้อมูลสินเชื่อนักศึกษา) nchelp.org/elibrary/ESC/CommonRecord-CommonLineDocumentation/…ในหน้า 20: "ความยาวอีเมลเปลี่ยนไปตามมาตรฐาน ANSI ปัจจุบันที่อยู่อีเมลมีความยาวสูงสุด จาก 128 ตัวอักษร " อืมมม
นาธาน

8
ต่อไปนี้เป็นบทความที่น่ารักในการขจัดตำนานต่างๆเกี่ยวกับอีเมลรวมถึง "max len == 320" ขีด จำกัด เป็นจริง 254
คาร์ล

26
บทความน่ารักอยู่ที่ไหน
Bob

1
คำตอบนี้ถูกต้อง อีเมลนี้ใช้งานได้ แต่ไม่สามารถใช้งานได้อย่างแน่นอนเพราะ 2821 จำกัด คำสั่ง MAIL / RCPT ที่ 256 ด้วย<>วงเล็บ ...
vp_arth

1
นั่นรวมถึงอีเมลในรูปแบบuser+inbox@domainหรือไม่?
Aaron Esau

20

ผู้ใช้งาน

ความยาวรวมสูงสุดของชื่อผู้ใช้คือ 64 ตัวอักษร

โดเมน

สูงสุด 255 อักขระในส่วนของโดเมน (ตัวอักษรต่อจาก“ @”)

อย่างไรก็ตามมีข้อ จำกัด ในการอ่านRFC 2821 :

ความยาวรวมสูงสุดของ reverse-path หรือ forward-path คือ 256 อักขระรวมถึงเครื่องหมายวรรคตอนและตัวคั่นองค์ประกอบ” เนื่องจากปกติแล้วที่อยู่ที่ไม่เหมาะสมในเขตข้อมูลเหล่านั้นจึงไม่มีข้อ จำกัด ด้านบนของความยาวของที่อยู่จึงควรพิจารณาเป็น 256 แต่เส้นทางถูกกำหนดเป็น: Path =“ <” [Adl“:”] กล่องจดหมาย“> ” เส้นทางเดินหน้าจะมีวงเล็บมุมอย่างน้อยหนึ่งคู่นอกเหนือจากกล่องจดหมายซึ่ง จำกัด ที่อยู่อีเมลไว้ที่ 254 อักขระ


7
เย็น, rfc โบราณของปี 1982 ... มี rfc5321 สำหรับ SMTP
vp_arth

14

เพื่อช่วยให้นักเล่นมือใหม่ที่สับสนเช่นฉันคำตอบของ "ความยาวสูงสุดของที่อยู่อีเมลที่ถูกต้องคืออะไร" คือ254 ตัวอักษรตัวอักษร

หากแอปพลิเคชันของคุณใช้อีเมลเพียงตั้งค่าเขตข้อมูลของคุณให้ยอมรับ 254 อักขระหรือน้อยกว่าและคุณพร้อมที่จะไป

คุณสามารถเรียกใช้การทดสอบจำนวนมากในอีเมลเพื่อดูว่ามันถูกต้องที่นี่ http://isemail.info/

RFC หรือ Request for Comments เป็นสิ่งพิมพ์ประเภทหนึ่งจาก Internet Engineering Task Force (IETF) ที่กำหนด 254 อักขระเป็นขีด จำกัด อยู่ที่นี่ - https://tools.ietf.org/html/rfc5321#section-4.5.3


12

คำตอบอื่น ๆ เต็มไปด้วยโคลนเล็กน้อย คำตอบง่ายๆ: 254 ตัวอักษรทั้งหมดในการควบคุมของเราสำหรับอีเมล 256 สำหรับที่อยู่อีเมลทั้งหมดซึ่งรวมถึง "<" ที่จุดเริ่มต้นและ ">" ในตอนท้าย ดังนั้นเราจึงเหลือ 254 ในการใช้งานของเรา


4

ตามบทความด้านล่าง:

http://tools.ietf.org/html/rfc3696 (หน้า 6, ส่วนที่ 3)

มันบอกว่า:

"มีการจำกัดความยาวของที่อยู่อีเมลขีด จำกัด นั้นมีความยาวสูงสุด 64 อักขระ (octets) ใน" local part "(ก่อน" @ ") และสูงสุด 255 อักขระ (octets) ในส่วนโดเมน (หลัง "@") สำหรับความยาวทั้งหมด 320 ตัวอักษรระบบที่จัดการกับอีเมลควรเตรียมที่จะดำเนินการกับที่อยู่ที่มีความยาวขนาดนั้นถึงแม้ว่าจะไม่พบก็ตาม "

ดังนั้นความยาวรวมสูงสุดสำหรับที่อยู่อีเมลคือ 320 ตัวอักษร ("ส่วนในพื้นที่": 64 + "@": 1 + "ส่วนของโดเมน": 255 ซึ่งรวมเป็น 320)


คุณช่วยบอกฉันด้วย javascript ปกติเพื่อตรวจสอบรหัสตัวอักษร 320 ตัวได้ไหม ขอบคุณล่วงหน้า.
Kamlesh

1
ส่วนนี้ของมาตรฐานได้รับการแก้ไขใน errata เพื่อรวมขีด จำกัด ทั้งหมด 254 อักขระ ดูคำตอบที่ยอมรับสำหรับรายละเอียดและลิงก์ไปยัง errata
Matthijs Kooijman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.