php - email@domain 是有效的电子邮件地址吗

标签 php validation email networking

我正在评估一系列电子邮件验证技术,其中有人输出 email@domain 是有效的。我在某处读到,如果这封电子邮件用于内部网络,那么它在技术上可能是有效的,但实际上,对于当今网络上几乎所有的实际目的,这封电子邮件不应该被评估为真实的。

您的电子邮件验证库或自制方法有什么作用,您允许这种事情吗?

最佳答案

嗯,这取决于应用程序应该做什么。

它会在 Intranet 中使用吗?如果是这样,email@domain 可能没问题。

如果没有,您可能需要明确要求一个 FQDN,以便他们无法在您的域内部发送邮件(foo@localhost 等)。

检查域部分应该不难:

$domain = array_pop(explode('@', $email));

然后,根据您的需要,验证域。

您可以检查它的语法是否有效(它是一个 FQDN)。在线有很多教程(并且很多框架都提供)可以验证字符串中的域以查看它是否是 FQDN 格式...

或者,如果您的需求更大,您可以验证您的服务器是否可以解决它(通过类似 dns_get_record() ...

if (false === dns_get_record($domain, DNS_MX)) {
    //invalid domain (can't find an MX record)...
}

(请注意,我说的是您可以这样做,而不是您应该这样做。这取决于您的具体用例)...

关于php - email@domain 是有效的电子邮件地址吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704215/

相关文章:

javascript - 防止表单在 jQuery Validate 插件的 submitHandler 函数中提交

jquery - 使用 html5 验证表单中输入的长度恰好为 10

email - 使用 powershell 发送电子邮件

c# - 如何在 Exchange 服务器上通过电子邮件发送 .zip 附件?

php - 什么是 www.conf?

php - isset() 为不存在的数组键返回 true 的奇怪行为

c - C 中的字符串验证 : Trying to ask for a new string when the old one has an invalid character

email - 如何使用 phpmailer 设置自定义 header

php - Android通过从sd卡或文件管理器中随机选择图像上传到PHP服务器

php - 没有属性的对象可以吗?