【发布时间】:2022-06-13 16:01:10
【问题描述】:
在 Docker 容器内的有效电子邮件上运行 Laravel 电子邮件 dns 验证器时遇到问题。我在用户模型电子邮件字段上有这些验证规则:
['email:rfc,dns,spoof', 'required']
运行播种器时,电子邮件验证失败。 我得到的唯一错误是“电子邮件必须是有效的电子邮件地址。”。播种机创建的所有电子邮件的形式都是名字点姓氏,如下所示:“john.doe@example.com”。他们都应该通过。
奇怪的是,我在 Debian 11 vagrant VirtualBox 中运行的本地环境运行良好。当我尝试使用 Docker 在 Jenkins 管道中运行播种机时,这些问题就开始了。我有 2 个容器,一个运行 MariaDB 10.6,一个运行 PHP 8.1 的 PHP 容器。使用 php:8.1-cli 容器。
我怀疑在获取 DNS 记录时存在一些问题,但我并没有收到任何正确的错误消息。如果我从模型播种器中删除 dns 验证,它将运行得很好。
我已经尝试将 Cloudflare DNS 服务器添加到 PHP 容器,但它似乎没有任何改变。
dns:
- 1.1.1.1
我实际上使用的是 Lumen 9,但这可能并不重要。
【问题讨论】:
-
如果他们真的在使用
example.com域,对他们的 DNS 查找应该会失败。 -
是的,看起来是这样。我们一直使用 example.com 作为测试域。我们的播种机仅生成 example.com 电子邮件。在我们当地的旧环境中,它在 vagrant + virtualbox 上运行,这个验证由于某种原因通过了。这就是为什么事情变得如此复杂。似乎是我们的本地 VB 环境由于某种原因在它们应该失败时接受了这些电子邮件。
标签: laravel docker jenkins dns lumen