我在 Symofny 4.2 项目中安装了 MailCatcher。
我已经在我的 .env 文件中配置了它:
MAILER_URL=http://127.0.0.1:1080/
在 swiftmailer.yml
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
parameters:
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
mailer_port: 1025
当我打开该网址时,邮件收件箱会正确加载。
我在保留某个实体的同时触发了我的 __invoke 函数,并且想要捕获我正在发送的邮件。
我正在使用 API 平台,因此很难找出问题所在。
这是一个错误:
实体保留在数据库中,但尚未发送邮件。
我尝试更改响应,但没有运气。我被这个错误困住了。
public function __invoke()
{
$transport = (new Swift_SmtpTransport('127.0.0.1', 1025));
$mailer = new Swift_Mailer($transport);
$message = (new \Swift_Message('Hello Email'))
->setFrom('send@example.com')
->setTo('recipient@example.com')
->setBody('My <em>name</em> is Filip', 'text/plain');
$mailer->send($message);
return new JsonResponse(['result' => 'ok']);
}
}