Download the PHP package oleg-chulakov-studio/yii2-queue-mailer without Composer
On this page you can find all versions of the php package oleg-chulakov-studio/yii2-queue-mailer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download oleg-chulakov-studio/yii2-queue-mailer
More information about oleg-chulakov-studio/yii2-queue-mailer
Files in oleg-chulakov-studio/yii2-queue-mailer
Package yii2-queue-mailer
Short Description Mailer with send message via queue.
License BSD-3-Clause
Informations about the package yii2-queue-mailer
Yii2 Queue Mailer
Компонент отправки почты путем постановки ее в очередь.
Компонент полностью имплементирует весь функционал мейлера и может быть использован как основной мейлер, без потери привычного функционала.
Установка
Для подключения компонентов в свой код необходимо добавить в composer.json следующий код:
Или набрать команду:
Выполнение миграций:
Настройка
Майлер зависит от нескольких компонентов, которые так же необходимо настроить и передать их названия через конфигурацию.
queue
В первую очередь зависимость касается непосредственно компонента постановки задания в очередь. Подробно про его конфигурацию можно почитать в официальной документации: Yii2-Queue
mailer
Вторым важным компонентом является непосредственно Swift Mailer. Через который будет осуществляться отправка почты из задания в очереди. К тому же данный компонент может отправить письмо автоматически через него, если не будет настроен компонент очереди или процедура постановки в очередь прервется и не будет выполнена. Данное поведение можно отключить через конфигурацию.
attachment
Третий желаемый компонент находится в этом пакете и является хранилищем и обработчиком прикрепляемых (внедряемых) файлов к письму. Поскольку мейлер имеет возможность прикрепить файлы не сохраненные на диске, хранить такие файлы в базе данных не выгодно и они могут быть сохранены во временном каталоге и в дальнейшем успешно прикреплены к оригинальному сообщению. Так же компонент может продублировать все файлы во временный каталог, если необходимо сохранять текущие версии файлов для отправки.
- storageAll - Копировать ли все прикрепляемые файлы. По умолчанию
false
. - storageClear - Необходимость удаление всех временных файлов сообщения после отправки. По умолчанию
true
. - storagePath - Папка в которую будут сохранены прикрепляемые файлы. По умолчанию
@runtime/attachments
. Для каждого письма со вложениями будет создана своя папка.
queuemailer
Настройка компонента отложенной отправки почты имеет множество похожих параметров при настройке:
- messageClass - Класс сообщения, используемый для компоновки сообщения перед отправкой.
- storageClass - Класс модели, в которой будет храниться вся информация о сформированном сообщении.
Должен реализовать интерфейс
MailStorageInterface
, реализуя методfindById
, который должен вернуть модель с сохраненными данными по ее ID. - jobClass - Класс задания, которое будет обрабатывать отправку сообщения из очереди.
Должно реализовать интерфейс
MessageJobInterface
, реализуя методcreate
для создания задания. Класс можно поменять на лету, перед каждой отправкой сообщения, через функциюsetJobClass
. - viewPath - Устанавливает папку с шаблонами письма. При отсроченной отправке, данную настройку
достаточно указать только в данном компоненте, поскольку
mailerComponent
не будет осуществлять генерацию письма, а только заниматься его отправкой. - useFileTransport - Если данный параметр установлен в
true
, то компонент не будет пытаться отправить почту через компонентmailerComponent
, а только пытаться сохранить его в базу. - messageConfig - Может так же, как и базовый класс сообщения, получать все настройки письма,
но так же приобретает возможность установить конфигурацию для сериализатора полем
serializer
. Компонент сериализации должен реализовать интерфейсSerializerInterface
. - attacheComponent - Компонент обработки прикрепляемых файлов. Если не будет настроен, то будет возможность прикреплять только существующие файлы на диске.
- mailerComponent - Имя компонента для отправки почты. Должен ссылаться на
Yii2-swiftmailer
. Если компонент не будет настроен, сообщения, что не попадут в очередь, вернутfalse
при отправке сообщения. Так же может не настраиваться при указании'useFileTransport' => true
, поскольку не будет осуществляться попытки отправить реальное сообщение. - componentName - Имя текущего или другого компонента, доступного из консольного приложения. Название будет храниться в базе с заданием и использоваться при извлечении сообщения и отправки почты через вложеннего мейлера (@see mailerComponent, который обязательно должен быть настроен в консольном приложении).
- queueComponent - Имя компонента, используемого для постановки сообщения в очередь.
Если все сообщения планируется отправлять через отложенную отправку,
возможно настроить компонент мейлером по умолчанию, зарегестрировав его под именем mailer
и передав, наспример, в 'mailerComponent' => 'swiftmailer'
.