Question

J'ai un fichier texte des e-mails comme ceci:

10:info@example.com;dev@example.com
12:john@host.com; "George <g.top@host.com>" 
43:jim.p@web.com.;sue-allen@web.com
...

Je veux vérifier si la liste contient des entrées bien formatées. Connaissez-vous un outil ou un service Web pour vérifier et me donner une liste d'adresses invalides?

Mise à jour Bonjour à tous, je vous remercie de votre contribution. Je cherchais vraiment une vérification de la syntaxe de base, donc je vais rester avec l'idée Rafe (je le ferai avec Java).

Autres conseils

Lisez ce que vous le faites la manière compatible RFC:

http://www.eph.co.uk/ ressources / email-address-longueur-faq /

Probablement la façon la plus simple de valider un e-mail est d'envoyer un message à lui. Comme le souligne Sean ce peut vous laisser ouvert à des attaques par déni de service, mais de votre description, il semble que vous avez un fichier texte plutôt que d'une page web, donc cela ne devrait pas être un problème.

Les expressions régulières ne sont pas un bon outil pour des e-mails correspondant, il y a beaucoup d'adresses valides correspondant naïve échouera. Consultez cette comparaison de tente de valider des e-mails avec regex pour plus de détails.

Si vous devez les vérifier en ligne, je fendrait l'e-mail en parties (les parties avant le signe @ et après le @), vous pouvez alors créer un validateur personnalisé (ou regex) pour valider ces parties.

Validation Email est pas aussi simple comme une expression régulière

D'abord, je lirais cet article I Knew Comment faire pour valider une adresse e-mail avant de lire RFC.

De retour dans les jours d'autrefois, vous pouvez simplement vous connecter au serveur de messagerie de l'utilisateur et utiliser la commande VRFY et vérifier qu'une adresse e-mail est valide, mais les spammeurs abusé de ce privilège et nous avons tous perdants.

Maintenant, je recommande une approche en trois parties:

  1. Vérifier la validité syntaxique. Vous pouvez utiliser le monstre regex de la courrier perl Module pour vérifier pour vous assurer que l'adresse e-mail est bien formé. Ensuite, assurez-vous de la liste noire des domaines localhost / ips dans le cadre de votre chèque.

  2. Vérifiez que le domaine est sous tension. Faites une vérification de validation DNS sur le domaine. Vous pouvez prendre un peu plus loin et utiliser un contrôle smtp et assurez-vous que vous pouvez vous connecter à un serveur de messagerie valide pour le domaine. Cependant, il peut y avoir des résultats faux négatifs en raison de systèmes d'hébergement virtuels.

  3. Envoyer un e-mail réelle, mais inclure une seule image qui relie à un script sur votre serveur. Lorsque l'e-mail est lu avec l'image, votre serveur sera informé que l'image était téléchargement et donc l'e-mail est vivante et valide. Cependant, de nos jours de nombreux clients de messagerie ne chargent pas des images par défaut pour cette raison, il ne sera pas efficace à 100%.

Ressources

  1. Adresses Email Validation en ASP (en ligne)
  2. Adresses e-mail Valider dans (les exemples de code) PHP
  3. Ce produit commercial ne vérification e-mail en vrac ← Ceci est probablement ce que vous cherchez pour
  4. SO Question: Comment vérifier si une adresse e-mail existe sans envoyer un email -

Ce problème est plus difficile qu'il n'y paraît . Face à elle, j'ai volé le code du module mf.c dans le NMH les sources. Je puis l'analyseur importé d'adresses dans Lua pour que je puisse gérer les adresses e-mail à partir de scripts.

En utilisant le code de quelqu'un d'autre m'a sauvé un monde de douleur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top