【问题标题】:Laravel - Swift_RfcComplianceException only on staging server .env file problemLaravel - Swift_RfcComplianceException 仅在登台服务器 .env 文件问题上
【发布时间】:2019-12-26 03:28:14
【问题描述】:

我的暂存环境有问题,而我的本地环境中没有出现问题。


        ->from(env('MAIL_FROM_ADDRESS'), "$user->firstname $user->lastname")

它给了我以下错误;

(1/1) Swift_RfcComplianceException
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.

似乎应用程序无法从我的 .env 文件中获取 mail_from_address。为什么会发生这种情况,因为在我的本地环境中一切正常?

我的部署脚本中也有这些,

composer dump-autoload

# Clear caches
php artisan cache:clear
php artisan auth:clear-resets

php artisan config:clear
php artisan config:cache
php artisan view:clear

我在这里缺少什么?有什么建议吗?是其他问题吗?

编辑 2: 我实际上对我的地址进行了硬编码,如下所示,一切正常......所以问题是应用程序为什么不读取 .env 文件?这是某种类型的缓存问题吗?


        ->from("email@email.com", "$user->firstname $user->lastname")

编辑 1: 'MAIL_FROM_ADDRESS' exixts 在我的 .env 文件中。

编辑 3:解决方案

我在部署脚本中将 config:cache 移到 config:clear 之前,并且应用能够从 .env 文件中获取电子邮件地址。

【问题讨论】:

  • 尝试用括号重叠php vars:“{$user->firstname} {$user->lastname}”
  • .env 文件中的值是否存在?为什么不回退到合理的默认值?
  • @miken32 是的,它在 .env 文件中......

标签: php laravel email rfc2822


【解决方案1】:

这个错误告诉你,你实际上没有电子邮件

(1/1) Swift_RfcComplianceException
Address in mailbox given [] does not comply with RFC 2822, 3.6.2.

例如,如果您的邮件地址中有任何语法错误,它会返回如下内容:

(1/1) Swift_RfcComplianceException
Address in mailbox given [myfalsemail§@gmail.com] does not comply with RFC 2822, 3.6.2.

您是否进一步运行了配置缓存命令,如果是,请清除您的配置缓存以确保:

php artisan config:clear

但很可能您的电子邮件是空的,请尝试打印:

dd(env('MAIL_FROM_ADDRESS'))

如果它是空的,请在您的 .env 文件中添加一封电子邮件,如下所示:

MAIL_USERNAME=mymail@gmail.com

【讨论】:

  • @eleven0 能不能打印出来确认一下
  • @eleven0 进一步发布您的整个电子邮件逻辑,应该有一个 to 方法,您将邮件发送给哪个人
  • 再次,这正是问题所在...我使用伪造我的部署并且 mail_from_address 在该文件中...。但是正如我在原始问题中所述,应用程序无法从中读取该变量.env 文件....这是为什么呢? (打印返回 null)我该如何解决? PS:我的电子邮件逻辑还有其他字段.....同样,电子邮件发送在本地环境下工作正常......
  • 所以如果你这样做dd(env('MAIL_FROM_ADDRESS'))它返回null?您是否更改了配置邮件中的任何内容,可能会覆盖此内容?您能否发布更多代码和您的 env 文件的重要部分。进一步检查您的配置/身份验证中是否没有任何更改。我现在不在,如果您提供更多信息,我明天再看看。
  • 我在部署脚本中将 config:cache 移到了 config:clear 之前,并且应用程序能够从 .env 文件中获取电子邮件地址。
猜你喜欢
  • 2019-08-08
  • 2016-11-10
  • 2021-08-28
  • 1970-01-01
  • 2018-05-11
  • 2020-02-04
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
相关资源
最近更新 更多