Download the PHP package maatify/channel-delivery without Composer

On this page you can find all versions of the php package maatify/channel-delivery. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package channel-delivery

Maatify Channel Delivery

Latest Version on Packagist

PHP Version

CI

Maatify Ecosystem

Overview

Maatify Channel Delivery is a standalone async multi-channel delivery microservice for sending notifications across channels like Email, Telegram, SMS, and Push.

It offloads delivery processing from your core applications, ensuring:

Currently, the Email channel is fully implemented and production-ready. Additional channels such as SMS, Telegram, and Push notifications are planned for future releases.


Features


Architecture

The system operates as an API ingestion layer combined with background workers.

Applications enqueue notification jobs via HTTP. Workers then process the queue and deliver messages asynchronously.

The email delivery pipeline is powered internally by the maatify/email-delivery library, which provides the rendering, transport abstraction, and delivery engine.


Email Delivery Pipeline

Detailed processing steps:

  1. Enqueue Client calls /api/v1/email/enqueue.

  2. Encryption EnqueueEmailHandler encrypts recipient and context via Maatify\Crypto.

  3. Persistence Job stored securely in cd_email_queue.

  4. Worker Polling EmailQueueWorker polls pending jobs.

  5. Template Rendering Context is decrypted and injected into Twig templates.

  6. SMTP Delivery Email is sent via SmtpEmailTransport. If replyTo was set, a Reply-To header is added so replies go to the specified address.


Requirements


Related Projects


Installation

Clone the repository or install via Composer:

Install dependencies:


Configuration

Create the environment configuration file:

Edit .env and configure the following variables.

Application

Variable Description
APP_ENV Application environment (development / production)
APP_NAME Name of the service instance
SUPPORT_EMAIL Support contact email

Database

Variable Description
DB_HOST Database host
DB_PORT Database port
DB_DATABASE Database name
DB_USERNAME Database username
DB_PASSWORD Database password

Example:


Encryption (Crypto)

Queue payloads and sensitive data are encrypted using AES-256-GCM through maatify/crypto.

Variable Description
CRYPTO_ACTIVE_KEY_ID Identifier of the active encryption key
CRYPTO_KEYS JSON array containing encryption keys

Example:

Key requirements:

Generate a secure 32-byte key:

This will generate a 32-character string, for example:

Then place it inside the .env configuration:

Key requirements:


SMTP

SMTP configuration used by the email delivery worker.

Variable Description
MAIL_HOST SMTP server host
MAIL_PORT SMTP server port
MAIL_USERNAME SMTP username
MAIL_PASSWORD SMTP password
MAIL_FROM_ADDRESS Default sender email
MAIL_FROM_NAME Sender display name
MAIL_ENCRYPTION Encryption type (tls / ssl)
MAIL_TIMEOUT SMTP timeout (seconds)
MAIL_DEBUG SMTP debug mode (0 = disabled)

Redis

Redis is used for rate limiting.

Variable Description
REDIS_HOST Redis host
REDIS_PORT Redis port
REDIS_PASSWORD Redis password (optional)
REDIS_DB Redis database index
RATE_LIMIT_MAX_REQUESTS Maximum requests allowed
RATE_LIMIT_WINDOW_SECONDS Rate limit window duration
TRUSTED_PROXIES Trusted proxy IPs (for X-Forwarded-For)

Example:


Quick Examples

Customer-facing email

Enqueue a transactional email (e.g., welcome, OTP, verification) sent to the customer:

Admin notification with Reply-To (v1.1.0+)

Enqueue an admin notification where the email goes to the admin, and replies go to the customer:


Worker Usage

Run the email worker:

This worker should normally run under a process manager like Supervisor or systemd.

See the worker setup guide:

Run Worker Guide


Documentation


License

This project is open-sourced software licensed under the MIT License.

See the LICENSE file for details.


All versions of channel-delivery with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-curl Version *
ext-json Version *
ext-openssl Version *
ext-pdo Version *
ext-redis Version *
ext-sodium Version *
ext-zlib Version *
maatify/crypto Version ^1.0
maatify/email-delivery Version ^1.0
maatify/psr-logger Version ^1.0
maatify/shared-common Version ^1.0
php-di/php-di Version ^7.1
php-di/slim-bridge Version ^3.0
phpmailer/phpmailer Version ^6.9
psr/http-message Version ^2.0
psr/http-server-handler Version ^1.0
psr/http-server-middleware Version ^1.0
psr/log Version ^3.0
slim/psr7 Version ^1.8
slim/slim Version ^4.15
twig/twig Version ^3.0
vlucas/phpdotenv Version ^5.6
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package maatify/channel-delivery contains the following files

Loading the files please wait ...