"User is not set" 迁移到 Laravel 9 后出现 IncompleteDsnException

"User is not set" IncompleteDsnException after migrating to Laravel 9

我使用的是 Laravel 8.64,我的电子邮件在生产服务器和开发服务器上都运行良好。但是,升级到 9.0.2 后,我无法发送电子邮件。当然,我已按照所有说明进行操作,但在尝试发送电子邮件时仍然出现错误。

User is not set. {"exception":"[object] (Symfony\Component\Mailer\Exception\IncompleteDsnException(code: 0): User is not set.

在供应商文件夹中进行一些研究后,我发现 class AbstractTransportFactory 包含 getUser 方法。

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

    return $user;
}

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

我遇到了同样的问题。

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

这将反映为 DSN 的 username/password。

干杯