Мне нужно было отправить электронное письмо с прикрепленным PDF-файлом. Все это было довольно просто сделать с помощью SnappyBundle и Swift Mailer. При каждом вызове ../document_name/{id}/mail
создается файл PDF и отправляется электронное письмо.
Чтобы попытаться немного улучшить пользовательский опыт, я решил реализовать компонент Messenger с RabbitMQ, чтобы поставить это действие в очередь. Но в этот момент для Снэппи все как-то сломалось. Я получаю вот такую ошибку:
The exit status code '1' says something went wrong:
stderr: "The system cannot find the path specified.
"
stdout: ""
command: ..\vendor\bin\wkhtmltopdf.exe.bat --dpi "300" --image-quality 100 --page-size "A4" --footer-html "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb5887e059.82496553.html" --header-html "C:
\Users\user\AppData\Local\Temp\knp_snappy5c8bfb588a7c92.82567496.html" "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb588659c2.24298174.html" "C:\Users\user\AppData\Local\Temp\knp_snappy5c8bfb
5887d116.94779844.pdf".
- Служба, которая генерирует PDF-файл, а затем отправляет его, отлично работает, когда
messenger:consume_messages
не используется. - Чтобы Swift Mailer отправлял электронное письмо, как только я сделал
$msg->send();
, и чтобы не буферизовать его в памяти, я закомментировал# spool: { type: 'memory' }
наswiftmailer.yml
, иначе письмо не будет отправлено, когдаmessenger:consume_messages
запустит службу.