2010-08-17 7 views
1

Notre site Web envoie des e-mails à l'adresse e-mail qu'un utilisateur entre sur notre site Web. Certaines personnes entrent des adresses e-mail de déchets. Comment pouvons-nous savoir si au moins l'hôte de l'adresse entrée est valide? Vous essayez simplement d'ouvrir une socket au port 25 de l'hôte entré? Mise à jour: J'ai trouvé un Java library for DNS stuff. Quel enregistrement dois-je vérifier?Java, envoyer un e-mail: vérifier si un hôte valide est fourni dans l'adresse e-mail

+0

J'ai posé une question similaire à ce sujet pour php. Le mieux serait de faire une vérification DNS sur le nom d'hôte. – Albinoswordfish

Répondre

1

Vous devez rechercher l'enregistrement MX de la partie hôte à partir de DNS ... mais il existe de nombreux cas-croisés. Ne réinventez pas la roue (vous devez vous tromper), essayez de trouver une bibliothèque existante. Je connais seulement celui de Snertsoft pour C (intégré dans le commercial milter-sender), cependant.

[Disclaimer: Je suis un utilisateur heureux de milter-expéditeur]

[Modifier ] Jetez un oeil à RFC 5321 Sec.5, qui décrit les règles de recherche l'hôte droit.

0

J'espère que vous vérifiez (en utilisant une expression régulière) qu'une adresse e-mail valide a été entrée. Sinon, il ne sert à rien de vérifier si l'hôte est valide.

+0

C'est un joli sac de vers là ... http://www.regular-expressions.info/email.html Pourquoi ne pas simplement rendre l'adresse e-mail optionnelle, si les utilisateurs ne veulent pas en fournir une alors ils ne le font pas Il ne faut pas, s'ils veulent en fournir un, faites-les entrer deux fois et valider les deux valeurs. –

+0

Désolé, ce n'est pas ce que je veux. Je veux empêcher quelque chose comme 'sdjkfsjf @ fjdskjfsd.com'. – Mot