PHPackages                             kosmosafive/kosmos.linemessage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. kosmosafive/kosmos.linemessage

ActiveBitrix-d7-module[Mail &amp; Notifications](/categories/mail)

kosmosafive/kosmos.linemessage
==============================

Kosmos: Мультиканальный транспорт для отправки оповещений

2.0.1(1y ago)06Apache-2.0PHPPHP &gt;=8.3

Since Aug 16Pushed 1y ago1 watchersCompare

[ Source](https://github.com/kosmosafive/kosmos.linemessage)[ Packagist](https://packagist.org/packages/kosmosafive/kosmos.linemessage)[ Docs](https://github.com/kosmosafive/kosmos.linemessage)[ RSS](/packages/kosmosafive-kosmoslinemessage/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (0)

Kosmos: Line Message
====================

[](#kosmos-line-message)

Введение
--------

[](#введение)

Отправка сообщений получателю предполагает возможность поставки через один или несколько каналов связи. Механизм поставки при этом должен быть скрыт.

Идея решения состоит в том, чтобы, опираясь на некоторую конфигурацию и бизнес-логику, сформировать коллекцию каналов связи, по которым потенциально можно отправить сообщение. Также формируется максимально возможный контекст – массив данных, который включает как обязательные поля для обработки канала связи (например, email получателя для отправки email), так и используемые в возможных шаблонах.

Полученные данные принимает отправитель и возвращает коллекцию результатов, из которой можно получить как общий результат, так и точечный по каждому каналу связи.

Потенциальное логирование модулем не предусмотрено. Предполагается логирование в вызывающей конструкции и\\или на инфраструктурном слое.

Установка
---------

[](#установка)

- Установить модуль

### Установка через composer

[](#установка-через-composer)

В composer.json (пример для директории local) проекта добавьте

```
{
  "require": {
    "wikimedia/composer-merge-plugin": "dev-master"
  },
  "config": {
    "allow-plugins": {
      "wikimedia/composer-merge-plugin": true
    }
  },
  "extra": {
    "merge-plugin": {
      "require": [
        "../bitrix/composer-bx.json",
        "modules/*/composer.json"
      ],
      "recurse": true,
      "replace": true,
      "ignore-duplicates": false,
      "merge-dev": true,
      "merge-extra": false,
      "merge-extra-deep": false,
      "merge-scripts": false
    },
    "installer-paths": {
      "modules/{$name}/": [
        "type:bitrix-d7-module"
      ]
    }
  }
}
```

Использование
-------------

[](#использование)

### Отправка сообщений по каналам связи

[](#отправка-сообщений-по-каналам-связи)

```
use Bitrix\Main\Loader;
use Kosmos\LineMessage\Line;
use Kosmos\LineMessage\Sender;

Loader::requireModule('kosmos.linemessage');

$someTemplateLine = new Line\Email('SOME_TEMPLATE');
$anotherTemplateLine = new Line\Email('ANOTHER_TEMPLATE');

$lineCollection = new Line\Collection(
    $someTemplateLine,
    $anotherTemplateLine
);

$oneMoreTemplateLine = new Line\Email('ONE_MORE_TEMPLATE', true);

$lineCollection->add($oneMoreTemplateLine);

$context = ['EMAIL' => 'test@email.com'];

$lineResultCollection = (new Sender($lines, $context))->send();
```

### Работа с LineResultCollection

[](#работа-с-lineresultcollection)

```
$lineResultCollection->isSuccess(); // true, если все сообщения были отправлены
$lineResultCollection->isHandled(); // true, если все каналы обработаны

$lineResultCollection->getSuccessCollection(); // коллекция отправленных
$lineResultCollection->getFailureCollection(); // коллекция неотправленных
$lineResultCollection->getHandledCollection(); // коллекция обработанных
$lineResultCollection->getUnhandledCollection(); // коллекция необработанных
```

#### Получить результат для конкретного Line

[](#получить-результат-для-конкретного-line)

```
$someTemplateLineResult = $lineResultCollection->findByLine($someTemplateLine);
```

### Работа с LineResult

[](#работа-с-lineresult)

```
$someTemplateLineResult->isSuccess(); // true, если сообщение было отправлено
$someTemplateLineResult->isHandled(); // true, если канал обработан
```

Каналы связи
------------

[](#каналы-связи)

### Email

[](#email)

#### Конструктор

[](#конструктор)

- eventName – название события
- immediately – (опционально) немедленная отправка

#### Контекст

[](#контекст)

- EMAIL – email получателя
- LID – (опционально) идентификатор сайта

### Добавление собственного канала связи

[](#добавление-собственного-канала-связи)

Необходимо реализовать интерфейс Kosmos\\LineMessage\\Line\\LineInterface. Можно наследовать базовый класс Kosmos\\LineMessage\\Line\\Line.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

630d ago

Major Versions

1.0.1 → 2.0.02024-08-17

PHP version history (2 changes)1.0.1PHP &gt;=8.1

2.0.0PHP &gt;=8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/4149bcfcdcc947ad42afa006615812c8ea743bf76e0e10ef44ffb3d5ae2796f0?d=identicon)[kosmosafive](/maintainers/kosmosafive)

---

Top Contributors

[![kosmosafive](https://avatars.githubusercontent.com/u/14090839?v=4)](https://github.com/kosmosafive "kosmosafive (9 commits)")

---

Tags

messageapiemailbitrixlinekosmoslinemessage

### Embed Badge

![Health badge](/badges/kosmosafive-kosmoslinemessage/health.svg)

```
[![Health](https://phpackages.com/badges/kosmosafive-kosmoslinemessage/health.svg)](https://phpackages.com/packages/kosmosafive-kosmoslinemessage)
```

###  Alternatives

[ecomailcz/ecomail

Ecomail.cz API Wrapper

17383.8k4](/packages/ecomailcz-ecomail)[hafael/azure-mailer-driver

Supercharge your Laravel or Symfony app with Microsoft Azure Communication Services (ACS)! Effortlessly add email, chat, voice, video, and telephony-over-IP for next-level communication. 🚀

14109.2k](/packages/hafael-azure-mailer-driver)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
