Как я могу отправлять автоматические письма в формате PDF, принимая значения из базы - PullRequest
1 голос
/ 16 октября 2019

Привет, ребята, мне нужна помощь здесь,

Я хочу отправлять пользователям электронные письма в формате PDF на ежемесячной основе. но PDF будет иметь значения из базы данных. таким образом, каждый пользователь имеет контент, отличающийся от другого пользователя, который принимает значения из базы данных. Если я не могу достичь этого на Laravel, мне нужен другой язык, который поможет мне достичь этого, спасибо.

$schedule->command('custom:command')
         ->monthly();

1 Ответ

0 голосов
/ 16 октября 2019

Вы можете достичь всего в Laravel, чего вы можете достичь в PHP :), а что касается веб-разработки, вы можете достичь всего в PHP:)

Однако я не уверен, что именно вывопрос, поэтому я отвечу на все аспекты отправки электронного письма с динамическим PDF.

Получить заполняемый PDF

Прежде всего, вам нужно заполнить поля в вашем PDF для создания динамического PDF ввремя выполнения. Если в вашем PDF-файле нет заполняемых полей, вы можете создать их с помощью любого онлайн-инструмента. Один из примеров: https://www.pdfescape.com/

Вы также можете использовать Adobe для этого, если хотите.

Создать PDF-файл с динамическими данными

Как только у вас будет пустой заполненный файлPDF, затем вы можете заполнить данные в нем с помощью PDFTK библиотеки. Конечно, вам придется установить этот инструмент на вашем сервере, чтобы использовать его.

Я рекомендую использовать его напрямую, запускать exec или аналогичные команды в PHP. Однако, если вам неудобно, вы можете использовать различные обертки Pdftk, доступные в Laravel. Один пример: https://github.com/mikehaertl/php-pdftk

Я сам предпочитаю использовать exec напрямую из PHP. Вот ДЕЙСТВИТЕЛЬНО ХОРОШИЙ учебник для этого: https://www.sitepoint.com/filling-pdf-forms-pdftk-php/

Отправьте электронное письмо

Что ж, после того как ваш PDF создан и сохранен на сервере, все, что вам нужно сделать, это прикрепить его к своей электронной почтеи отправить. Вы можете найти все о вложениях в Laravel здесь: https://laravel.com/docs/5.1/mail#attachments

Запустите его через cron

Если вам приходится делать это регулярно. Я советую вам создать cron на вашем сервере. Есть разные способы сделать это. Я советую вам сделать это через cPanel, если у вас есть такой на вашем сервере, конечно, поскольку он обеспечивает очень удобный способ создания крон. Если нет, вы также можете использовать терминал для редактирования файлов cron в Linux Server.

Я не рекомендую использовать встроенный планировщик Laravel, потому что у него есть известные проблемы.

Ну вот и все, вуаля .. Вот и весь процесс отправки динамически генерируемых PDF-файлов по электронной почте на регулярной основе. Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...