---
title: "Kanály doručenia — Campaigns for Laravel | Roundly"
description: "Doručovanie HTML e-mailom cez SendCampaignEmail alebo cez notifikácie Laravelu so SendCampaignNotification."
url: https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel/kanaly-dorucenia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Campaigns for Laravel](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)

# Kanály doručenia

Každého príjemcu spracuje job z campaigns.process-recipient-job. Balík obsahuje dva — oba bežia vo fronte a oba implementujú Contracts\\ProcessesCampaignRecipient:

- Jobs\\SendCampaignEmail (predvolený) — odošle obsah kampane ako HTML e-mail.
- Jobs\\SendCampaignNotification — doručuje cez notifikačný systém Laravelu, takže tá istá kampaň môže ísť e-mailom, cez SMS aj push.

## E-mail

SendCampaignEmail odošle obsah presne tak, ako je uložený — rovnaké HTML telo pre každého príjemcu, bez šablón pre jednotlivcov — s predmetom a odosielateľom kampane, adresované na meno a adresu príjemcu. Kampaň bez odosielateľa ponechá globálnu adresu a meno mail.from mailera. Úspech označí príjemcu ako spracovaného; každá výnimka sa zachytí a zaznamená ako neúspešný príjemca aj so správou. Pri zrušenej dávke job skončí bez odoslania.

## Notifikácie Laravelu

Prepnite job, nastavte campaigns.notification na podtriedu CampaignNotification a určte kanál smerovania:

```php
// config/campaigns.php
'process-recipient-job' => \RoundlyConsulting\Campaigns\Jobs\SendCampaignNotification::class,
'notification' => \App\Notifications\ProductLaunchNotification::class,
'notification-channel' => 'mail',
```

Vaša notifikácia dostane v konštruktore Campaign aj CampaignRecipient — obe ako verejné readonly vlastnosti — takže každá metóda kanála môže vykresliť vlastný obsah:

```php
namespace App\Notifications;

use Illuminate\Notifications\Messages\MailMessage;
use RoundlyConsulting\Campaigns\Notifications\CampaignNotification;

final class ProductLaunchNotification extends CampaignNotification
{
    public function via(object $notifiable): array
    {
        return ['mail'];
    }

    public function toMail(object $notifiable): MailMessage
    {
        return (new MailMessage)
            ->subject($this->campaign->subject)
            ->greeting('Hello '.$this->recipient->name)
            ->line($this->campaign->content);
    }
}
```

Job nasmeruje on-demand notifiable cez campaigns.notification-channel (option DefaultChannel) na reachableAt príjemcu a odošle vašu notifikáciu. Pre SMS či push nastavte kanál, ktorý máte nainštalovaný — vonage, fcm a pod. — a telefónne kontakty určte cez viaContactType(ContactType::Phone). Ak campaigns.notification nie je nastavené, každý príjemca zlyhá s CampaignException, ktorá chýbajúcu konfiguráciu pomenuje.

Potrebujete kanál, ktorý nie je notifikáciou Laravelu? Napíšte vlastný job — pozrite si časť Vlastné joby doručenia.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/campaigns-for-laravel.md)
