迁移到 Laravel 9 后出现“用户未设置”IncompleteDsnException

Ale*_*kić 5 php symphony-cms laravel laravel-8 laravel-9

我使用的是 Laravel 8.64,我的电子邮件在产品和开发服务器上都运行良好。但是,升级到 9.0.2 后,我在发送电子邮件时遇到了问题。当然,我遵循了所有说明,但当我尝试发送电子邮件时仍然出现错误。

未设置用户。{“异常”:“[对象](Symfony \ Component \ Mailer \ Exception \ IncompleteDsnException(代码:0):未设置用户。

经过对供应商文件夹的一些研究后,我发现AbstractTransportFactory包含getUser方法的类。

protected function getUser(Dsn $dsn): string
{
    $user = $dsn->getUser();
    if (null === $user) {
        throw new IncompleteDsnException('User is not set.');
    }

    return $user;
}
Run Code Online (Sandbox Code Playgroud)

当我return '';在这个 if 语句中时,一切正常,而不是抛出异常。有谁知道这个问题的解决方案以及为什么会发生这种情况

小智 13

我遇到过同样的问题。

确保您的 .env 文件包含:MAILGUN_DOMAIN=your.domain.com MAILGUN_SECRET=your.mailgun.secret

这将反映为 DSN 的用户名/密码。

干杯