Έγκυρο μήκος διεύθυνσης email

Depositphotos 1948865 δ

Έπρεπε να κάνω ένα σκάψιμο σήμερα για να το βρω, αλλά ξέρατε ποιο είναι το έγκυρο μήκος μιας διεύθυνσης email; Είναι πραγματικά χωρισμένο σε μέρη… Όνομα@Domain.com. Αυτό είναι σύμφωνα RFC2822.

  1. Το όνομα μπορεί να αποτελείται από 1 έως 64 χαρακτήρες.
  2. Ο τομέας μπορεί να αποτελείται από 1 έως 255 χαρακτήρες.

Ουάου… αυτό σημαίνει ότι αυτή θα μπορούσε να είναι μια έγκυρη διεύθυνση email:


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
tumarutrumbaturpisamassaaconsectetueraarcubaeuatin
ciduntaliberoaaugueavestibulumaeratcaPhasellusatin
ciduntaturpisaduis.com

Δοκιμάστε να το τοποθετήσετε σε επαγγελματική κάρτα! Κατά ειρωνικό τρόπο, τα περισσότερα πεδία διευθύνσεων ηλεκτρονικού ταχυδρομείου περιορίζονται σε 100 χαρακτήρες στον ιστό. Αυτό δεν είναι έγκυρο. Εάν θέλετε να επικυρώσετε μια διεύθυνση ηλεκτρονικού ταχυδρομείου για σωστή κατασκευή χρησιμοποιώντας PHP, βρήκα αυτό το απόσπασμα στο διαδίκτυο:

http://derrick.pallas.us/email-validator/ # License: Academic Free License 2.1 # Version: 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)) επιστροφή false; list ($ local, $ domain) = split ("@", $ email, 2); εάν (strlen ($ local)> 64 || strlen ($ domain)> 255) επιστροφή false εάν ($ check &&! gethostbynamel ($ domain)) επιστρέψει false; επιστροφή αληθινή? # ΤΕΛΟΣ ###### }

9 Σχόλια

  1. 1
  2. 2

    Ναι, παρατήρησα την έλλειψη συμμόρφωσης και άλλων λύσεων με το RFC. Παρατήρησα, ωστόσο, ότι ακόμη και αυτό το regex είναι άτυπο και όχι το πρότυπο. Θυμάμαι ότι η ανάγνωση του πραγματικού regex (επιτρέποντας <,>, κ.λπ.) είναι πολύ εντατική για τις περισσότερες διαδικασίες.

    Ωστόσο, είναι γραμμένο συνοπτικά και σίγουρα μια λύση που θα πρέπει να είναι αποδεκτή από οποιαδήποτε εταιρική εφαρμογή email.

    Ευχαριστώ και πάλι!
    Doug

  3. 3

    Δυστυχώς, σύνδεσα αυτή τη σελίδα με το λάθος RFC (2821 αντί για 2822), αλλά αυτό διορθώθηκε. Οι γωνιακές αγκύλες δεν μπορούν να αποτελούν μέρος των τοπικών ή τομέων τομέα μιας διεύθυνσης email. Αντιθέτως, αντιπροσωπεύουν σημεία διακριτικοποίησης, δηλαδή μπορούν να χρησιμοποιηθούν για να περιβάλλουν μια διεύθυνση email (για παράδειγμα στον αναγνώστη αλληλογραφίας σας) ακριβώς επειδή δεν μπορούν να είναι μέρος της διεύθυνσης.

    Ένα πράγμα που δεν κάνει η λειτουργία μου είναι να ανησυχείτε για την αναφερόμενη μορφή διευθύνσεων email - όπου το τοπικό τμήμα εμφανίζεται με διπλά εισαγωγικά - επειδή το RFC2821 ουσιαστικά λέει ότι κανείς δεν πρέπει ποτέ να πρέπει να γράψει τη διεύθυνσή του με αυτόν τον τρόπο. (Πιστεύω ότι η φόρμα προορίζεται για συμβατότητα προς τα πίσω και τώρα είναι κακή πρακτική.)

  4. 4

    Στην πραγματικότητα το RFC2821 ΕΙΝΑΙ η σωστή αναφορά για το μήκος της διεύθυνσης email. Το βρήκα εκεί, αλλά όχι στο RFC 2822.

  5. 5

    Υπάρχει περιορισμός στο RFC 2821 στο μήκος μιας διεύθυνσης στις εντολές MAIL και RCPT 256 χαρακτήρων. Το ανώτατο όριο μήκους διευθύνσεων θα πρέπει κανονικά να θεωρείται 256.

    - Πηγή: RFC 3696 Errata

    Επίσης, επειδή το RFC 2181 λέει "Ένα πλήρες όνομα τομέα περιορίζεται σε 255 οκτάδες", παρερμηνεύεται επανειλημμένα από άτομα (συμπεριλαμβανομένων των συγγραφέων άλλων RFC) με την έννοια ότι τα ονόματα τομέα μπορούν να έχουν μήκος 255 χαρακτήρες. Αλλά το RFC2181 μιλάει για αναπαράσταση επιπέδου πρωτοκόλλου DNS στο καλώδιο, όχι εκτυπώσιμους χαρακτήρες.

    Το μέγιστο μήκος ενός ονόματος τομέα είναι 253 χαρακτήρες (254 συμπεριλαμβανομένων τελικών κουκκίδων, 255 οκτάδων στο καλώδιο με τερματισμό μηδέν). Και αυτό εφαρμόζουν οι BIND και DiG.

  6. 6

    Οι προγραμματιστές που υποτιμούν τα πιθανά μεγέθη των διευθύνσεων email προκάλεσαν μερικά προβλήματα: http://www.eph.co.uk/resources/email-address-le...

    Υποθέτω ότι αν η διεύθυνση ηλεκτρονικού ταχυδρομείου σας είναι κάτι μικροσκοπικό, όπως το "jack1983@aol.com", ίσως νομίζετε ότι ακόμη και 30 χαρακτήρες είναι γενναιόδωροι.

  7. 7

    Λυπούμαστε, η παραπάνω διεύθυνση URL είναι κατεστραμμένη…

    Οι προγραμματιστές που υποτιμούν τα πιθανά μεγέθη των διευθύνσεων email προκάλεσαν μερικά προβλήματα:

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

    Υποθέτω ότι εάν η διεύθυνση ηλεκτρονικού ταχυδρομείου σας είναι κάτι μικροσκοπικό, όπως "jack1983@aol.com", ίσως νομίζετε ότι ακόμη και 30 χαρακτήρες είναι γενναιόδωροι.

  8. 8

Ποια είναι η γνώμη σας;

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.