Lokalisiert durch KI
Anleitungen • MARCH 3, 2026

E-Mails mit PHP versenden

Lernen Sie, wie Sie E-Mails in PHP mit dem Emailit PHP SDK versenden. Von einfachen Nachrichten bis hin zu Vorlagen, Anhängen und zeitgesteuerten Sendungen – alles mit einer sauberen, modernen API.
E-Mails mit PHP versenden
E-Mails mit PHP versenden

Das Versenden von E-Mails aus PHP bedeutete traditionell den Kampf mit mail(), die Konfiguration von SMTP-Servern oder das Einbinden schwerer Abhängigkeiten. Das Emailit PHP SDK bietet Ihnen eine saubere, moderne Alternative. Sie können Transaktions-E-Mails versenden, Domains verwalten, Adressen verifizieren und Webhooks handhaben – alles über einen einfachen API-Client.

PHP bleibt eine der am weitesten verbreiteten Sprachen für die Webentwicklung, und das Versenden von E-Mails ist eine Grundanforderung für nahezu jede PHP-Anwendung. Ob Sie ein SaaS-Produkt, einen Online-Shop oder ein Content-Management-System entwickeln – zuverlässige E-Mail-Zustellung ist unverzichtbar für Benutzer-Onboarding, Passwort-Resets, Bestellbestätigungen und Marketing-Kampagnen. Anstatt sich auf PHPs eingebaute mail()-Funktion zu verlassen, die nur begrenzte Kontrolle und keine Zustellungsgarantien bietet, gewährleistet die Nutzung einer dedizierten E-Mail-API, dass Ihre Nachrichten tatsächlich im Posteingang ankommen.

In diesem Leitfaden führen wir Sie durch die Installation des SDKs und zeigen, wie Sie es zum Versenden von E-Mails aus jeder PHP-Anwendung nutzen.

Voraussetzungen

  • PHP 8.1 oder höher
  • Ein Emailit-Konto mit einem API-Schlüssel
  • Composer

Installation

Installieren Sie das SDK über Composer:

composer require emailit/emailit-php

Das Emailit PHP SDK ist als Composer-Paket verfügbar und lässt sich nahtlos in jedes PHP-Projekt integrieren, das Composer für die Abhängigkeitsverwaltung nutzt. Manuelle Datei-Includes oder benutzerdefinierte Autoloader sind nicht erforderlich.

Client initialisieren

Erstellen Sie eine Client-Instanz mit Ihrem API-Schlüssel:

require 'vendor/autoload.php';

$emailit = Emailit::client('your_api_key');

Ihren API-Schlüssel finden Sie im Emailit-Dashboard unter API-Schlüssel.

Einfache E-Mail versenden

Das Versenden einer E-Mail erfordert nur einen einzigen Methodenaufruf:

$email = $emailit->emails()->send([
    'from'    => 'hello@ihredomain.com',
    'to'      => ['user@example.com'],
    'subject' => 'Hallo von Emailit',
    'html'    => '<h1>Willkommen!</h1><p>Vielen Dank für Ihre Anmeldung.</p>',
]);

echo $email->id;     // em_abc123...
echo $email->status; // pending

Alle Service-Methoden geben typisierte Ressourcen-Objekte mit direktem Eigenschaftszugriff zurück, sodass Sie immer genau wissen, womit Sie arbeiten.

Im Vergleich zur Nutzung von PHPs nativer mail()-Funktion bietet das Versenden von E-Mails über eine API Zustellungsverfolgung, Bounce-Behandlung und detaillierte Statusinformationen für jede Nachricht. Sie müssen sich keine Gedanken über die Konfiguration von Sendmail oder Postfix auf Ihrem Server machen und erhalten zuverlässige Zustellung bei allen großen E-Mail-Anbietern wie Gmail, Outlook und Yahoo.

Mit Vorlage versenden

Wenn Sie eine Vorlage im Emailit-Dashboard erstellt haben, können Sie diese über den Slug referenzieren und Variablen übergeben:

$email = $emailit->emails()->send([
    'from'      => 'hello@ihredomain.com',
    'to'        => 'user@example.com',
    'template'  => 'welcome_email',
    'variables' => [
        'name'    => 'Max Mustermann',
        'company' => 'Musterfirma GmbH',
    ],
]);

Vorlagen halten Ihre E-Mail-Inhalte aus der Codebasis heraus und ermöglichen es Nicht-Entwicklern, Texte ohne Deployment zu aktualisieren. Dies ist besonders nützlich für Transaktions-E-Mails wie Willkommensnachrichten, Passwort-Reset-Links, Rechnungsbelege und Versandbenachrichtigungen, bei denen sich Design und Formulierung häufiger ändern als der Code, der sie auslöst.

Mit Anhängen versenden

Fügen Sie Dateien hinzu, indem Sie base64-kodierten Inhalt übergeben:

$email = $emailit->emails()->send([
    'from'        => 'rechnungen@ihredomain.com',
    'to'          => 'kunde@example.com',
    'subject'     => 'Ihre Rechnung #12345',
    'html'        => '<p>Ihre Rechnung finden Sie im Anhang.</p>',
    'attachments' => [
        [
            'filename'     => 'rechnung.pdf',
            'content'      => base64_encode(file_get_contents('rechnung.pdf')),
            'content_type' => 'application/pdf',
        ],
    ],
]);

Sie können PDFs, Bilder, Tabellen oder jeden anderen Dateityp anhängen. Dies wird häufig verwendet, um Rechnungen, Berichte oder generierte Dokumente direkt aus Ihrer PHP-Anwendung zu versenden, ohne einen separaten Download-Link zu benötigen.

E-Mail für später planen

Übergeben Sie einen scheduled_at-Zeitstempel, um zu einem zukünftigen Datum zu versenden:

$email = $emailit->emails()->send([
    'from'         => 'erinnerungen@ihredomain.com',
    'to'           => 'user@example.com',
    'subject'      => 'Terminerinnerung',
    'html'         => '<p>Ihr Termin ist morgen um 14:00 Uhr.</p>',
    'scheduled_at' => '2026-04-10T09:00:00Z',
]);

echo $email->status;       // scheduled
echo $email->scheduled_at; // 2026-04-10T09:00:00Z

Geplante E-Mails können vor dem Versand storniert werden:

$emailit->emails()->cancel('em_abc123');

Die Terminplanung ist nützlich für zeitkritische Kommunikation wie Terminerinnerungen, Abonnement-Verlängerungshinweise und Drip-Kampagnen, bei denen der Sendezeitpunkt genauso wichtig ist wie der Inhalt selbst.

Gesendete E-Mails auflisten und verwalten

Rufen Sie eine paginierte Liste Ihrer E-Mails ab:

$emails = $emailit->emails()->list(['page' => 1, 'limit' => 10]);

foreach ($emails as $email) {
    echo $email->id . ' - ' . $email->status . "\n";
}

Fehlgeschlagene E-Mail erneut versuchen:

$emailit->emails()->retry('em_abc123');

Die vollständige Einsicht in Ihre gesendeten E-Mails, deren Zustellungsstatus und die Möglichkeit, Fehlschläge zu wiederholen, bietet Ihnen eine Kontrollebene, die PHPs mail()-Funktion einfach nicht bieten kann. Dies ist entscheidend für Anwendungen, bei denen jede E-Mail zählt, wie Transaktionsbelege, Kontoverifizierungslinks und Zwei-Faktor-Authentifizierungscodes.

E-Mail-Adressen vor dem Versand verifizieren

Reduzieren Sie Bounces durch vorherige Adressverifizierung:

$result = $emailit->emailVerifications()->verify([
    'email' => 'test@example.com',
]);

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

E-Mail-Verifizierung ist eine bewährte Praxis zum Schutz Ihrer Absender-Reputation. Das Versenden an ungültige oder Wegwerf-E-Mail-Adressen erhöht Ihre Bounce-Rate, was Spam-Filter auslösen und die Zustellbarkeit Ihrer gesamten Domain beeinträchtigen kann. Durch die Verifizierung von Adressen vor dem Versand halten Sie Ihre Bounce-Raten niedrig und Ihre Reputation intakt.

Webhook-Events handhaben

Das SDK enthält typisierte Event-Klassen und Signaturverifizierung für Webhooks. Dies ermöglicht es Ihnen, in Echtzeit auf Zustellungsereignisse zu reagieren:

use Emailit\WebhookSignature;
use Emailit\Events\EmailDelivered;
use Emailit\Events\EmailBounced;

$event = WebhookSignature::verify(
    file_get_contents('php://input'),
    $_SERVER['HTTP_X_EMAILIT_SIGNATURE'],
    $_SERVER['HTTP_X_EMAILIT_TIMESTAMP'],
    'ihr_webhook_signatur_geheimnis'
);

match (true) {
    $event instanceof EmailDelivered => handleDelivered($event),
    $event instanceof EmailBounced   => handleBounce($event),
    default                          => log("Unbehandelt: {$event->type}"),
};

Webhooks ermöglichen es Ihrer PHP-Anwendung, sofort zu reagieren, wenn eine E-Mail zugestellt, zurückgewiesen, geöffnet oder geklickt wird. Dies ist unverzichtbar für den Aufbau ereignisgesteuerter Workflows wie die Aktualisierung eines CRM bei Nachrichtenzustellung, die Benachrichtigung Ihres Support-Teams bei Bounces oder die Verfolgung von Engagement-Metriken für Ihre E-Mail-Kampagnen.

Fehlerbehandlung

Das SDK wirft typisierte Exceptions, sodass Sie jeden Fehlerfall präzise behandeln können:

use Emailit\Exceptions\AuthenticationException;
use Emailit\Exceptions\RateLimitException;
use Emailit\Exceptions\UnprocessableEntityException;
use Emailit\Exceptions\ApiErrorException;

try {
    $emailit->emails()->send([...]);
} catch (AuthenticationException $e) {
    // Ungültiger API-Schlüssel (401)
} catch (RateLimitException $e) {
    // Zu viele Anfragen (429)
} catch (UnprocessableEntityException $e) {
    // Validierung fehlgeschlagen (422)
} catch (ApiErrorException $e) {
    // Jeder andere API-Fehler
    echo $e->getHttpStatus();
}

Ordnungsgemäße Fehlerbehandlung gewährleistet, dass Ihre Anwendung elegant degradiert, wenn etwas schiefgeht. Rate-Limit-Exceptions können beispielsweise mit einer Wiederholungsstrategie behandelt werden, während Authentifizierungsfehler eine Warnung auslösen sollten, damit Sie Ihren API-Schlüssel rotieren können.

Über E-Mails hinaus

Das SDK gibt Ihnen Zugriff auf die vollständige Emailit-API, nicht nur auf das Versenden. Sie können Domains, API-Schlüssel, Zielgruppen, Abonnenten, Vorlagen, Unterdrückungen, Kontakte und Events verwalten – alles aus PHP heraus:

$domain = $emailit->domains()->create(['name' => 'example.com']);
$contact = $emailit->contacts()->create(['email' => 'user@example.com']);
$templates = $emailit->templates()->list();

Dies macht das Emailit PHP SDK zu einem vollständigen E-Mail-Infrastruktur-Toolkit. Anstatt separate Bibliotheken oder Services für Domain-Management, Kontaktlisten und E-Mail-Versand zu verwenden, können Sie alles über einen einzigen, konsistenten PHP-Client handhaben.

Loslegen

Installieren Sie das SDK und versenden Sie Ihre erste E-Mail in unter einer Minute:

composer require emailit/emailit-php

Schauen Sie sich die vollständige SDK-Dokumentation auf GitHub an oder besuchen Sie die API-Referenz für Details zu jedem Endpoint.

Blog

Die neuesten Nachrichten und Updates, direkt von Emailit.

Bleiben Sie auf dem Laufenden mit den neuesten Artikeln aus dem Emailit Blog.

Ähnliche Beiträge

Neueste Erkenntnisse, Anleitungen und Updates vom Emailit-Team

Änderungen bei den Rate Limits
Ankündigungen
8 Min. Lesezeit

Änderungen bei den Rate Limits

Mit der Einführung der API v2 haben wir einige Änderungen an den Rate Limits vorgenommen.

Oct 10, 2025
Neue Dokumentation
Ankündigungen
10 Min. Lesezeit

Neue Dokumentation

Alles, was Sie für den Einstieg in Emailit benötigen, an einem Ort.

Oct 12, 2025
E-Mail-Verifizierungs-API jetzt verfügbar
Ankündigungen
2 Min. Lesezeit

E-Mail-Verifizierungs-API jetzt verfügbar

Überprüfen Sie E-Mail-Adressen vor dem Versand mit unserer neuen E-Mail-Verifizierungs-API. Reduzieren Sie Bounces und schützen Sie Ihre Absender-Reputation.

Feb 3, 2026