Api 带有 Swift 邮件程序的平台

Api Platform with Swift Mailer

我会知道 API Platform is reliable to Swift Mailer。事实上,我会在添加新任务时使用 Swift Mailer 发送电子邮件。当我使用我的控制器时效果很好,但不适用于 Postman 或 Swagger UI.

//mail sending
       $message = (new \Swift_Message('New task has done !'))
           ->setContentType('text/html')
           ->setFrom("fromAdresse@sample.fr")
           ->setTo('sample@email.com')
           ->setBody(
               $this->renderView('email/new.html.twig',
                    ['work' => $work]));
        $mailer->send($message);

当用户经过API UI时,我会使用同样的东西,可以处理请求吗?因为控制器和 API 没有相同的路线。

API : /api/works (POST) to add an element

Controller : work/new (POST) to add an element too

如何在 API 平台 Request 上使用 Swift Mailer?或者我如何使用自定义控制器处理请求?

谢谢你的建议和答案,我是新手。

最好的方法是使用实​​体侦听器(请参阅 https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/events.html)- 您可以在那里检测 create/update/delete 操作并执行发送电子邮件等其他操作。对于所有 controller/api/other 请求,最好将消息逻辑放在一个地方 :-)

注意 select 正确的教义事件。并阅读有关在这些侦听器中修改实体的详细信息(即将 "email sent" 标志或任何其他值存储到其他实体。这并不简单:-))。