如何使用 FOSUserBundle 引用 symfony 4.3 的邮件程序组件

How to reference mailer component of symfony 4.3 with FOSUserBundle

我想通过 Symfony 的 new mailer component 发送我的 FOSUserBundle 电子邮件。

根据 these 说明,我需要创建一个实现 FOSUserBundle MailerInterface 的服务。因此我创建了一个服务并实现了这些方法。

<?php


namespace App\Service;

// some use statements 

class FOSUserSendgridMailer implements MailerInterface
{...

现在我想通过以下方式在 fos_user_yaml 中引用这项新服务:

fos_user:
  db_driver: orm # other valid values are 'mongodb' and 'couchdb'
  firewall_name: main
  service:
    mailer: App\Service\FOSUserSendgridMailer

然后我得到一个错误 The service "fos_user.listener.email_confirmation" has a dependency on a non-existent service "App\Service\FOSUserSendgridMailer".

Autowireautoconfigureservices.yaml 中都设置为 true

如何正确引用我的新服务?

您需要像这样在 services.yaml 中将其定义为服务:

App\Service\FOSUserSendgridMailer:
    class: App\Service\FOSUserSendgridMailer