-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[17] Come si fa a verificare la validità di un indirizzo di posta elettronica?

Non si può. Almeno, non in tempo reale. È un peccato, eh?

Senza inviare una mail all'indirizzo e senza controllare che ci sia un essere umano a rispondere dall'altra parte, non si può stabilire se un indirizzo email è valido. Anche se applicate lo standard per gli header delle mail, potete avere problemi, poiché esistono indirizzi cui si può mandar posta che non seguono le regole dell'RFC-822 (lo standard per gli header delle mail), e indirizzi che le seguono cui invece non si può mandare posta.

In molti sono tentati di provare ad eliminare certi indirizzi non validi che appaiono frequentemente con una semplice espressione regolare, come /^[w.-]+@(?:[w-]+.)+w+$/. è una pessima idea. Comunque, questo modo di procedere scarta molti indirizzi validi, e non dice nulla sulla possibilità di inviare posta ad essi, quindi non è consigliata. Piuttosto, guardate http://www.cpan.org/authors/Tom_Christiansen/scripts/ckaddr.gz , che di fatto esegue un controllo seguendo tutte le specifiche dell'RFC (a parte i commenti innestati), cerca gli indirizzi dai quali potreste non voler accettare mail (Bill Clinton o il vostro postmaster, diciamo), e poi si assicura che l'hostname dato sia rintracciabile nei descrittori di tipo MX del DNS. Non è veloce, ma svolge i compiti che si prefigge.

Il nostro consiglio per verificare l'indirizzo di posta elettronica di una persona è far sì che scriva il proprio indirizzo due volte, come si fa normalmente per cambiare una password. Questo di solito elimina gli errori di battitura. Se le due versioni coincidono, mandate una mail all'indirizzo, con un messaggio personale che assomigli al seguente:

    Caro utente@host.com,
    Per favore, conferma, rispondendo a questo messaggio,  l'indirizzo
    email che ci hai dato Mercoledi` 6 Maggio 2003 alle ore 9:35.
    Includi nella risposta la stringa "Supercalifragilistichespiralidoso",
    ma scritta al contrario; in altre parole, comincia con "Osod...".
    Una volta fatto, il tuo indirizzo confermato verra` incluso nei
    nostri archivi.

Se vi arriva la risposta e l'utente ha seguito le vostre istruzioni, potete essere ragionevolmente certi che l'indirizzo è reale.

Una strategia correlata, meno vulnerabile alla contraffazione, è dare all'utente un PIN (personal ID number: numero di identificazione personale). Registrate l'indirizzo e il PIN (meglio se casuale) per l'uso futuro. Nella mail che inviate, chiedete all'utente di di includere il PIN nella sua risposta. Se però la mail torna indietro, o il messaggio viene incluso in una mail di risposta automatica tipo "Sono in vacanza", il PIN ci sarà comunque. Quindi il meglio è chiedere di rispondere con una versione decisamente modificata del PIN, ad esempio con i caratteri invertiti, oppure con un'unità aggiunta o sottratta ad ogni cifra, eccetera.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google