php - 为什么 dns_get_record 不适用于某些域?
问题描述
我使用dns_get_record
andgetmxrr
来获取域数据 mx 和 ns
但是对于某些域我无法获取数据,例如域tecmilenio.mx
dns_get_record('tecmilenio.mx', DNS_NS)
返回 false 并发出警告dns_get_record(): A temporary server error occurred.
我检查了控制台命令nslookup -type=mx tecmilenio.mx
,没有找到,并显示错误
服务器:127.0.1.1
地址:127.0.1.1#53
** 服务器找不到 tecmilenio.mx:SERVFAIL
为什么它出现在某些域以及如何解决它?
解决方案
域不一定要有 MX 记录。在没有 MX 记录的情况下,电子邮件发件人将尝试发送到地址记录 - 例如 example.com。
这是基于 RFC 5321 秒。5,其中规定:
SMTP 客户端必须查找 MX 记录;如果(且仅当)不存在域的 MX 记录,则将该域视为具有 MX 记录,将给定域作为目标主机名,首选项值为 0 根据需要执行 A 或 AAAA 查找以确定 IP目标主机名的地址
推荐阅读
- javascript - 如何查看带有引号内文本的字符串,但使用正则表达式忽略括号内的任何内容?
- javascript - Facebook:无法使用图形 API 将本地图像/视频上传到 Facebook 页面表单服务器端
- sql - 带有 case 语句的聚合函数
- python - 为什么即使我返回元组列表它也打印无?
- javascript - 第一次加载webb页面时rate js不起作用,但附加的html结构可以工作
- java - 父级上的 JPA OneToMany 删除不删除链接的实体
- javascript - PHP json_encode() 在位置 0 添加撇号
- javascript - 不要在 React 中提交表单。使用 react-hook-form
- sql - 如何部分循环通过postgres11中的ID结果集
- javascript - 如何在 vanilla-typescript todo 应用程序中设置删除项目按钮