Návody • MARCH 4, 2026

Odesílání e-mailů pomocí Laravelu

Naučte se odesílat e-maily v Laravelu pomocí balíčku Emailit Laravel. Integruje se jako nativní mailový transport a poskytuje vám plný přístup k Emailit API prostřednictvím Facade.
Odesílání e-mailů pomocí Laravelu
Odesílání e-mailů pomocí Laravelu

Laravel je dodáván s vynikající podporou pro odesílání e-mailů přímo z krabice, ale stále potřebujete spolehlivou doručovací službu na pozadí. Balíček Emailit Laravel se připojuje přímo do mailového systému Laravelu jako nativní transport. Vaše stávající Mailables, Notifications a volání Mail::send() fungují bez jakýchkoli změn kódu. Navíc získáte plný přístup k Emailit API prostřednictvím pohodlného Facade.

Odesílání e-mailů je jedním z nejčastějších úkolů v jakékoli Laravel aplikaci. Potvrzení registrace uživatelů, resetování hesel, účtenky objednávek, aktualizace zásilek a marketingové newslettery - to vše závisí na spolehlivém doručování e-mailů. Zatímco Laravel poskytuje výkonnou abstrakční vrstvu pro e-maily, skutečné doručování stále závisí na transportu, který nakonfigurujete. Použití e-mailového API jako je Emailit vám poskytne vysokou doručitelnost, sledování doručení, správu odrazů a podrobné analýzy, aniž byste museli spravovat SMTP servery nebo se starat o reputaci IP adres.

V této příručce si projdeme nastavení Emailit v Laravel aplikaci a odesílání e-mailů pomocí standardního Laravel mailového systému i Emailit Facade.

Požadavky

  • PHP 8.1 nebo vyšší
  • Laravel 10, 11 nebo 12
  • Emailit účet s API klíčem

Instalace

Nainstalujte balíček přes Composer:

composer require emailit/emailit-laravel

Balíček automaticky objeví svého service providera, takže není potřeba ruční registrace. Funguje s Laravel 10, 11 a 12 přímo z krabice.

Konfigurace

Přidejte svůj API klíč do .env:

EMAILIT_API_KEY=vas_api_klic

Nastavte Emailit jako výchozí mailer:

MAIL_MAILER=emailit

Přidejte emailit mailer do pole mailerů v config/mail.php:

'mailers' => [
    // ...

    'emailit' => [
        'transport' => 'emailit',
    ],
],

Volitelně publikujte konfigurační soubor pro přizpůsobení základní URL API:

php artisan vendor:publish --tag=emailit-config

Konfigurace je záměrně minimální. Jakmile nastavíte svůj API klíč a výchozí mailer, Laravel automaticky směruje všechny odchozí e-maily přes Emailit. Není potřeba konfigurovat SMTP hosty, porty, nastavení šifrování nebo přihlašovací údaje jako u tradičního nastavení mailového serveru.

Odesílání e-mailů s Laravel Mail

Po konfiguraci fungují všechny funkce Laravel mailu přímo z krabice. Nic ve vašem stávajícím kódu se nemusí měnit.

Použití Mailable

Vytvořte Mailable třídu jako obvykle:

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;

class VitejteEmail extends Mailable
{
    use Queueable, SerializesModels;

    public function __construct(
        public readonly User $user,
    ) {}

    public function envelope(): Envelope
    {
        return new Envelope(
            subject: 'Vítejte v naší aplikaci',
        );
    }

    public function content(): Content
    {
        return new Content(
            view: 'emails.vitejte',
        );
    }
}

Poté jej odešlete:

use Illuminate\Support\Facades\Mail;
use App\Mail\VitejteEmail;

Mail::to('uzivatel@priklad.cz')->send(new VitejteEmail($user));

Frontové e-maily, Markdown mailables a Notifications fungují přesně tak, jak byste očekávali. Emailit sedí transparentně za Laravel mailovou vrstvou, takže jej můžete vyměnit za jakýkoli stávající transport jako SMTP, Mailgun nebo SES, aniž byste se dotkli kódu aplikace. To usnadňuje testování Emailit vedle vašeho současného poskytovatele nebo postupnou migraci.

Použití Emailit Facade

Pro funkce, které jdou nad rámec toho, co nabízí Laravel mailový systém, jako jsou šablony s proměnnými, naplánované odesílání nebo správa API zdrojů, použijte Emailit Facade. Poskytuje vám přímý přístup k plnému Emailit PHP SDK.

Odeslání e-mailu přes API

use Emailit\Laravel\Facades\Emailit;

$email = Emailit::emails()->send([
    'from'    => 'ahoj@vasedomena.cz',
    'to'      => ['uzivatel@priklad.cz'],
    'subject' => 'Ahoj z Emailit',
    'html'    => '<h1>Vítejte!</h1>',
]);

echo $email->id;
echo $email->status;

Odeslání se šablonou

Odkazujte na šablony, které jste vytvořili v Emailit dashboardu, a předávejte dynamické proměnné:

use Emailit\Laravel\Facades\Emailit;

$email = Emailit::emails()->send([
    'from'      => 'ahoj@vasedomena.cz',
    'to'        => 'uzivatel@priklad.cz',
    'template'  => 'vitejte_email',
    'variables' => [
        'jmeno'     => 'Jan Novák',
        'spolecnost' => 'Acme s.r.o.',
    ],
]);

Použití serverových šablon je mocný vzor pro Laravel aplikace. Vaši designéři a marketéři mohou aktualizovat obsah e-mailů, styling a rozložení v Emailit dashboardu bez nutnosti změn kódu nebo nových nasazení. PHP kód pouze potřebuje předat data a šablona se postará o vykreslení.

Naplánování e-mailu

use Emailit\Laravel\Facades\Emailit;

$email = Emailit::emails()->send([
    'from'         => 'pripominky@vasedomena.cz',
    'to'           => 'uzivatel@priklad.cz',
    'subject'      => 'Připomínka schůzky',
    'html'         => '<p>Vaše schůzka je zítra ve 14:00.</p>',
    'scheduled_at' => '2026-04-10T09:00:00Z',
]);

Naplánované e-maily jsou zpracovávány výhradně Emailit API, což znamená, že fungují nezávisle na vašem Laravel queue systému. To je ideální pro připomínky schůzek, oznámení o obnovení předplatného a časově citlivé kampaně, kde chcete zaručené doručení v konkrétní čas, i když váš aplikační server zažívá výpadek.

Odeslání s přílohami

use Emailit\Laravel\Facades\Emailit;

$email = Emailit::emails()->send([
    'from'        => 'faktury@vasedomena.cz',
    'to'          => 'zakaznik@priklad.cz',
    'subject'     => 'Vaše faktura č. 12345',
    'html'        => '<p>Vaši fakturu najdete v příloze.</p>',
    'attachments' => [
        [
            'filename'     => 'faktura.pdf',
            'content'      => base64_encode(file_get_contents('faktura.pdf')),
            'content_type' => 'application/pdf',
        ],
    ],
]);

Správa zdrojů

Facade zpřístupňuje každou službu z Emailit API, takže můžete spravovat celou svou e-mailovou infrastrukturu z Laravelu.

Domény

use Emailit\Laravel\Facades\Emailit;

$domain = Emailit::domains()->create([
    'name' => 'priklad.cz',
    'track_loads' => true,
    'track_clicks' => true,
]);

$domain = Emailit::domains()->verify('sd_123');

Správa odesílacích domén přes API je užitečná pro SaaS platformy, které potřebují nastavit vlastní domény pro každého zákazníka. Můžete automatizovat celý workflow ověřování domén, včetně kontrol DNS záznamů, přímo z vaší Laravel aplikace.

Kontakty

use Emailit\Laravel\Facades\Emailit;

$contact = Emailit::contacts()->create([
    'email' => 'uzivatel@priklad.cz',
    'first_name' => 'Jan',
    'last_name' => 'Novák',
]);

$contacts = Emailit::contacts()->list();

Ověřování e-mailů

use Emailit\Laravel\Facades\Emailit;

$result = Emailit::emailVerifications()->verify([
    'email' => 'test@priklad.cz',
]);

echo $result->status; // valid
echo $result->risk;   // low

Ověřování e-mailových adres v okamžiku registrace nebo odeslání formuláře vám pomáhá udržovat čistý seznam kontaktů a chrání vaši reputaci odesílatele. Vysoké míry odrazů z neplatných adres mohou způsobit, že vaše e-maily skončí ve spamových složkách, takže ověřování je osvědčenou praxí pro jakoukoli Laravel aplikaci, která odesílá transakční nebo marketingové e-maily ve velkém měřítku.

Dependency injection

Pokud nechcete používat Facades, můžete klienta vložit přímo:

use Emailit\EmailitClient;

class EmailController extends Controller
{
    public function send(EmailitClient $emailit)
    {
        $email = $emailit->emails()->send([
            'from'    => 'ahoj@vasedomena.cz',
            'to'      => ['uzivatel@priklad.cz'],
            'subject' => 'Ahoj',
            'html'    => '<p>Zdravím!</p>',
        ]);

        return response()->json(['id' => $email->id]);
    }
}

Laravel service container automaticky vyřeší instanci EmailitClient s API klíčem z vaší konfigurace, takže získáte stejné pohodlí jako u Facade s výhodami testovatelnosti dependency injection.

Zpracování chyb

Základní PHP SDK vyhazuje typované výjimky, takže můžete zachytit konkrétní typy chyb:

use Emailit\Exceptions\AuthenticationException;
use Emailit\Exceptions\RateLimitException;
use Emailit\Exceptions\ApiErrorException;
use Emailit\Laravel\Facades\Emailit;

try {
    Emailit::emails()->send([...]);
} catch (AuthenticationException $e) {
    // Neplatný API klíč (401)
} catch (RateLimitException $e) {
    // Příliš mnoho požadavků (429)
} catch (ApiErrorException $e) {
    // Jakákoli jiná API chyba
    echo $e->getHttpStatus();
}

V Laravel aplikaci můžete také zpracovávat tyto výjimky globálně ve svém exception handleru nebo použít middleware k zachycení chyb rate limitu a implementaci automatické logiky opakování. To zajišťuje, že vaše aplikace zůstane odolná i při odesílání velkých objemů e-mailů.

Všechny dostupné služby

Facade vám poskytuje přístup ke všemu v Emailit API:

SlužbaPoužitíPopis
E-mailyEmailit::emails()Odesílání, výpis, získání, zrušení, opakování e-mailů
DoményEmailit::domains()Vytváření, ověřování, výpis, správa odesílacích domén
API klíčeEmailit::apiKeys()Vytváření, výpis, správa API klíčů
PublikumEmailit::audiences()Vytváření, výpis, správa publika
OdběrateléEmailit::subscribers()Přidávání, výpis, správa odběratelů
ŠablonyEmailit::templates()Vytváření, výpis, publikování e-mailových šablon
PotlačeníEmailit::suppressions()Vytváření, výpis, správa potlačených adres
Ověřování e-mailůEmailit::emailVerifications()Ověřování e-mailových adres
Seznamy ověřování e-mailůEmailit::emailVerificationLists()Hromadné ověřování e-mailů
WebhookyEmailit::webhooks()Vytváření, výpis, správa webhooků
KontaktyEmailit::contacts()Vytváření, výpis, správa kontaktů
UdálostiEmailit::events()Výpis a získávání událostí

Začněte

Nainstalujte balíček a začněte odesílat za méně než minutu:

composer require emailit/emailit-laravel

Podívejte se na kompletní dokumentaci balíčku na GitHubu, Emailit PHP SDK pro základní klient, nebo přejděte na API Reference pro podrobnosti o každém endpointu.

Blog

Nejnovější zprávy a aktualizace přímo od Emailitu.

Buďte v obraze s nejnovějšími články z blogu Emailit.

Související příspěvky

Nejnovější poznatky, návody a aktuality od týmu Emailit

Změny v omezení rychlosti
Oznámení
8 min čtení

Změny v omezení rychlosti

S uvedením API v2 jsme provedli některé změny v omezeních rychlosti.

Oct 10, 2025
Nová dokumentace
Oznámení
10 min čtení

Nová dokumentace

Jedno místo, kde najdete vše potřebné pro začátek práce s Emailit.

Oct 12, 2025
API pro ověření e-mailových adres je nyní k dispozici
Oznámení
2 min čtení

API pro ověření e-mailových adres je nyní k dispozici

Ověřte e-mailové adresy před odesláním pomocí našeho nového API pro ověřování e-mailů. Snižte počet nedoručených zpráv a chraňte svou pověst odesílatele.

Feb 3, 2026