我想验证使用PHP的电子邮件域,因为有些用户试图使用假电子邮件ID喜欢提交联系方式:[email protected]如何使用PHP验证域名的电子邮件地址?
-2
A
回答
1
TRY与checkdnsrr从电子邮件地址中提取域名并传递给checkdnsrr。
如果找到域名,返回TRUE;如果未找到域名 或发生错误,则返回FALSE。
$domainname = "domain.com";
checkdnsrr($domainname , "A");
0
如果你只是想验证域名部分的语法你可以在@
拆分邮件并运行在第二部分此正则表达式(通过idn_to_ascii()
功能intenational域名运行它后):
/
^
(?(DEFINE)(?<part>(?:xn--)?[a-z\d](?:[a-z\d-]*[a-z\d])?))
(?(DEFINE)(?<subpart>(?:xn--)?[a-z\d_](?:[a-z\d_-]*[a-z\d])?))
(?:(?&subpart)\.)*
(?&part)
(?:\.[a-z]+|\.xn--[a-z\d]+){1,2}
$
/xigm
0
您需要检查是否有这是一个MX记录t域。
考虑这个脚本除了你的正则表达式验证
https://davidwalsh.name/php-email-validator
要知道,这不会“真正的”验证邮件完全。用户可能无效。
-1
如果你不想去通过自己做的验证所有的麻烦,只需使用从MailboxValidator的free API plan。
他们有一些示例代码来帮助您进行集成。
http://www.mailboxvalidator.com/api-single-validation
<?php
$apiKey = 'Enter_License_Key';
$params['format'] = 'json';
$params['email'] = 'Enter_Email';
$query = '';
foreach($params as $key=>$value){
$query .= '&' . $key . '=' . rawurlencode($value);
}
$try = 0;
do {
////////////
//For https request, please make sure you have enabled php_openssl.dll extension.
//
//How to enable https
//- Uncomment ;extension=php_openssl.dll by removing the semicolon in your php.ini, and restart the apache.
//
//In case you have difficulty to modify the php.ini, you can always make the http request instead of https.
////////////
$result = file_get_contents('https://api.mailboxvalidator.com/v1/validation/single?key=' . $apiKey . $query);
} while(!$result && $rty++ < 3);
$data = json_decode($result);
print_r($data);
?>
相关问题
- 1. php验证基于域名的电子邮件地址
- 2. 如何验证电子邮件地址
- 3. 基于域名的电子邮件地址验证
- 4. 顶级域名的电子邮件地址验证
- 5. 如何使用C++验证电子邮件地址使用CAtlRegExp
- 6. ASP.NET的电子邮件地址验证
- 7. 如何在表单中验证电子邮件地址的域名?
- 8. PHP:电子邮件验证和接受来自某个域名的电子邮件地址
- 9. 如何在php中验证电子邮件地址?
- 10. 如何在php脚本上验证电子邮件地址
- 11. 如何使用Firebase验证电子邮件地址
- 12. 如何使用JavaScript验证电子邮件地址?
- 13. 验证电子邮件地址
- 14. 电子邮件地址验证
- 15. 验证电子邮件地址失败
- 16. ListView验证电子邮件地址
- 17. iOS电子邮件地址验证
- 18. Symfony formbuilder:验证电子邮件域名?
- 19. 验证电子邮件域名
- 20. 验证电子邮件地址的用户名部分
- 21. 验证ASP.NET中的电子邮件地址域
- 22. Django在forms.py中验证电子邮件地址和用户名
- 23. 如何使电子邮件地址同时需要和验证?
- 24. 使用PHP的电子邮件验证
- 25. 如何在MVC中发送电子邮件地址验证电子邮件?
- 26. 如何验证CSV文件上的电子邮件地址:: laravel
- 27. 的Javascript验证与网站域名的电子邮件地址在ASP.NET C#
- 28. 使用ngpattern的电子邮件的域名验证
- 29. 在php中的电子邮件地址验证(除filter_var)
- 30. 使用javascript&jquery验证按键上的电子邮件地址
酷。去一趟,然后回到我们身边。 – Farkie
验证如何?将它与黑名单进行匹配?检查地址是否存在?如果它是有效的格式? – Ivar
检查域名(和/或电子邮件地址)是否有效或语法正确之间存在巨大差异。你可以用正则表达式来检查语法,但是这会告诉你上面的电子邮件地址实际上是正确的。检查它是否有效最好由例如发送确认电子邮件到该地址并点击链接。 因此,最好先检查语法,然后再用确认邮件进行验证。 – Doqnach