2010-08-17 110 views
1

我们的网站向用户在我们网站上输入的电子邮件地址发送电子邮件。有些人输入垃圾电子邮件地址。我们怎么能发现,至少输入的地址的主机是否是有效的?只需尝试在输入主机的端口25处打开一个套接字?Java,发送电子邮件:验证电子邮件地址是否提供了有效主机

更新:我发现Java library for DNS stuff。我应该检查什么记录?

+0

我问了一个关于这个问题的类似问题。最好的办法是对主机名进行DNS检查。 – Albinoswordfish 2010-08-17 13:56:37

回答

1

您需要查看来自DNS的主机部分的MX记录......但有很多角落案例。不要重新发明轮子(你一定会弄错它的),试着找到一个现有的图书馆。不过,我只知道Snertsoft for C(集成到商业milter-sender)中的一个。

[免责声明:我雄鱼发送者的快乐用户]

[编辑] 看看RFC 5321 5节,它描述了用于查找正确的主机的规则。

0

我希望您验证(使用正则表达式)已输入有效的电子邮件地址。否则,检查主机是否有效没有意义。

+0

这是一个很好的蠕虫袋在那里... http://www.regular-expressions.info/email.html 为什么不只是使电子邮件地址可选,如果用户不想提供一个然后他们不如果他们确实想提供一个让他们输入两次并验证两个值匹配的话,那么他们就不必这样做了。 – 2010-08-17 14:11:40

+0

对不起,这不是我想要的。我想防止像'sdjkfsjf @ fjdskjfsd.com'这样的东西。 – Mot 2010-08-17 17:18:55

相关问题