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

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. עם זאת, שמתי לב שאפילו הרקס הזה הוא לא טיפוסי ולא הסטנדרטי. אני זוכר שקריאת הביטוי הרגולרי בפועל (המאפשר <,>, וכו') הוא אינטנסיבי מדי עבור רוב התהליכים.

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

    שוב תודה!
    דאג

  3. 3

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

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

  4. 4
  5. 5

    ישנה הגבלה ב-RFC 2821 על אורך כתובת בפקודות MAIL ו-RCPT של 256 תווים. בדרך כלל יש לראות שהמגבלה העליונה על אורכי הכתובות היא 256.

    - מקור: RFC 3696 Errata

    כמו כן, מכיוון ש-RFC 2181 אומר "שם תחום מלא מוגבל ל-255 אוקטטים", הוא מתפרש שוב ושוב על ידי אנשים (כולל כותבים של RFCs אחרים) כמשמעות ששמות תחום יכולים להיות באורך 255 תווים. אבל RFC2181 מדבר על ייצוג ברמת פרוטוקול DNS על החוט, לא על תווים הניתנים להדפסה.

    האורך המרבי של שם דומיין הוא 253 תווים (254 כולל נקודה נגררת, 255 אוקטטים על החוט עם ריק מסתיים). וזה מה ש-BIND ו-DiG מיישמות.

  6. 6
  7. 7

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

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

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

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

  8. 8

מה אתה חושב?

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