אורך כתובת דוא"ל תקף

1948865 ש

הייתי צריך לחפור היום כדי למצוא את זה, אבל האם ידעת מה האורך התקף של כתובת דוא"ל? זה למעשה נשבר לחלקים ... Name@Domain.com. זה על פי RFC2822.

  1. השם יכול להכיל בין 1 ל -64 תווים.
  2. הדומיין יכול להכיל בין 1 ל -255 תווים.

וואו ... זה אומר שזו יכולה להיות כתובת דוא"ל תקפה:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctusca נדיביםחיזויפניםבאדיאמידאקונדין
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratca Phasellusatin
ciduntaturpisaduis.com

נסה להתאים את זה על כרטיס ביקור! באופן אירוני, מרבית שדות כתובת הדוא"ל מוגבלים ל 100 תווים באינטרנט. זה למעשה לא תקף. אם ברצונך לאמת כתובת דוא"ל לצורך בנייה נכונה באמצעות PHP, מצאתי את קטע זה ברשת:

http://derrick.pallas.us/email-validator/ # רישיון: רישיון אקדמי חינם 2.1 # גרסה: 2006-12-01a אם (! 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) = split ("@", $ email, 2); אם (strlen ($ local)> 64 || strlen ($ domain)> 255) להחזיר false; אם ($ check &&! gethostbynamel ($ domain)) להחזיר שקר; לחזור אמיתי; # END ######}

תגובות 9

  1. 1
  2. 2

    כן, שמתי לב לחוסר התאמה של פתרונות אחרים גם ל- RFC. שמתי לב, עם זאת, כי גם ה- Regex הזה אינו טיפוסי ולא הסטנדרטי. אני זוכר שקריאת ה- regex האמיתי (המאפשר <,> וכו ') היא אינטנסיבית מדי לרוב התהליכים.

    עם זאת, הוא כתוב בקצרה ובהחלט פיתרון שאמור להיות מקובל על כל יישום דוא"ל ארגוני.

    שוב תודה!
    דאג

  3. 3

    למרבה הצער, קישרתי את העמוד ל- RFC הלא נכון (2821 במקום 2822) אבל זה תוקן. סוגרי הזווית אינם יכולים להיות חלק מהחלקים המקומיים או הדומיינים של כתובת דוא"ל; במקום זאת, הם מייצגים נקודות אסימון, כלומר ניתן להשתמש בהן כדי להקיף כתובת דוא"ל (למשל בקורא הדואר שלך) בדיוק משום שהם לא יכולים להיות חלק מהכתובת.

    דבר אחד שהפונקציה שלי לא עושה הוא לדאוג מהצורה המצוטטת של כתובות דוא"ל - כאשר החלק המקומי מופיע במרכאות כפולות - מכיוון ש- RFC2821 בעצם אומר שאף אחד לא צריך לעולם לכתוב את הכתובת שלו בצורה כזו. (אני מאמין שהטופס נועד לתאימות לאחור וכעת הוא נוהג רע).

  4. 4
  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
  7. 7

    מצטערים, כתובת האתר שלמעלה נשברה ...

    מפתחים שמזלזלים בגדלים הפוטנציאליים של כתובות דוא"ל גרמו לכמה בעיות:

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

    אני מניח שאם כתובת הדוא"ל שלך היא משהו זעיר כמו "jack1983@aol.com" אתה עשוי לחשוב שאפילו 30 תווים הם נדיבים.

  8. 8

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.