当我在 symfony6 中使用 Sendgrid 时,邮件保持在队列中

Mail stay in queue when i use Sendgrid in symfony6

我已设置我的 Sendgrid 单一发件人并验证它(状态 = 已验证)。

我使用 SMTP,创建我粘贴到我的代码中的密钥(我的应用程序的 .env 文件): MAILER_DSN=sendgrid+smtp://@default

然后我尝试通过单击按钮并刷新我的本地主机/页面来测试 Sendgrid 中的集成(当然控制器的路由是“/”并且它包含使用邮件程序发送邮件的代码,如邮件程序文档中所述) .

在我的 vue 上我没有错误代码但是邮件保持在队列状态...

这里是探查器的屏幕截图:

谁能告诉我为什么我的邮件一直在排队?

当然,发件人电子邮件地址是我的(经过验证的),收件人是我的另一个。

也许我必须在我的 outlook 邮件中配置一些东西(发件人)?

Sendgrid从不匹配验证,它一直在检查状态直到消息:

嗯,我们还没有看到你的邮件。

请检查您的代码,运行 再次检查,然后单击“重试”。

感谢回复,

此致,

在您的问题中,您说您的 MAILER_DSN 环境变量设置为:

MAILER_DSN=sendgrid+smtp://@default

虽然缺少您的 API 密钥。您需要 create an API key in the SendGrid dashboard 然后将 API 键添加到 MAILER_DSN 变量,在 //@default 之间,如下所示:

MAILER_DSN=sendgrid+smtp://API_KEY@default

另一件事,请确保您已使用此命令安装 SendGrid 传输:

composer require symfony/sendgrid-mailer

好的,非常感谢您的回复。

当然,一切都按照你通知我的方式设置了。

我现在已经解决了我的问题,事实上,对我来说,保留在队列中的邮件的问题是默认情况下以异步方式安装了 Messenger。

我必须在 config/packages/mailer.yaml 文件中添加选项 message_bus: false 才能不使用异步选项。

希望这对某些人有用。

所有人的好代码。