【问题标题】:Laravel email DNS validation fails, when ran in Docker container在 Docker 容器中运行时,Laravel 电子邮件 DNS 验证失败
【发布时间】: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


猜你喜欢
  • 1970-01-01
  • 2014-06-08
  • 1970-01-01
  • 2021-12-28
  • 2015-06-15
  • 1970-01-01
  • 2012-04-17
  • 2015-11-09
  • 2020-03-18
相关资源
最近更新 更多