# WordPress-E-Mails mit Emailit senden

> Leiten Sie E-Mails von WordPress, WooCommerce und Kontaktformularen mit WP Mail SMTP oder einem kleinen Plugin über Emailit-SMTP, mit einem API-Schlüssel als Passwort.

WordPress sendet Passwort-Zurücksetzungen, WooCommerce-Bestellungen und Nachrichten aus Kontaktformularen mit `wp_mail()`. Das nutzt standardmäßig die Mail-Einrichtung des Servers und landet oft im Spam. Diese Anleitung leitet diese E-Mails über das SMTP-Relay von Emailit, entweder mit dem Plugin WP Mail SMTP oder mit ein paar Zeilen Code.

## Voraussetzungen

- Administratorzugriff auf Ihre WordPress-Website.
- Eine [verifizierte Versanddomain](/de/docs/domains/add-a-domain/), zum Beispiel `acme.com`. Die Absenderadresse Ihrer Website muss sie verwenden.
- Ein [API-Schlüssel](/de/docs/developers/api-keys/). Erstellen Sie einen Schlüssel mit **Sending Only**, beschränkt auf Ihre Domain und etwa `wordpress-acme` genannt, damit eine geleakte Plugin-Einstellung für nichts anderes missbraucht werden kann.
- Solange Ihr Workspace keinen [Produktionszugang](/de/docs/workspaces/production-access/) hat, können Sie nur an die Konto-E-Mail-Adressen von Workspace-Mitgliedern senden. Testen Sie mit Ihrer eigenen Adresse.

## SMTP-Einstellungen

Diese Werte tragen Sie in jedem SMTP-Plugin ein:

| Einstellung | Wert |
| --- | --- |
| SMTP-Host | `smtp.emailit.com` |
| Verschlüsselung | TLS (STARTTLS) |
| SMTP-Port | `587` |
| Authentifizierung | An |
| SMTP-Benutzername | `emailit` |
| SMTP-Passwort | Ihr API-Schlüssel (`secret_…`) |
| Absender-E-Mail | Eine Adresse auf Ihrer verifizierten Domain, z. B. `hello@acme.com` |

Wenn Ihr Hoster Port 587 blockiert, verwenden Sie `2525` oder `2587` mit TLS oder `465` mit SSL. Siehe [SMTP-Einstellungen](/de/docs/smtp/settings/).

## WP Mail SMTP konfigurieren

[WP Mail SMTP](https://wordpress.org/plugins/wp-mail-smtp/) ist ein kostenloses Plugin, das den Mail-Transport von WordPress ersetzt. Andere SMTP-Plugins wie FluentSMTP oder Post SMTP verwenden dieselben Einstellungen mit leicht abweichenden Bezeichnungen.

1. **Plugin installieren.** Öffnen Sie in WordPress **Plugins > Add New**, suchen Sie nach **WP Mail SMTP** und installieren und aktivieren Sie es. Überspringen Sie den Einrichtungsassistenten, falls er sich öffnet; Sie können alles auf der Einstellungsseite konfigurieren.

2. **Absender festlegen.** Öffnen Sie die Einstellungen des Plugins. Setzen Sie **From Email** auf eine Adresse auf Ihrer verifizierten Domain und aktivieren Sie **Force From Email**, damit jedes Plugin von dieser Adresse sendet. Setzen Sie **From Name** auf den Namen Ihrer Website oder Ihres Unternehmens.

3. **Other SMTP wählen.** Wählen Sie unter **Mailer** die Option **Other SMTP**.

4. **Server eintragen.** Setzen Sie **SMTP Host** auf `smtp.emailit.com`, **Encryption** auf **TLS** und **SMTP Port** auf `587`. Lassen Sie **Auto TLS** aktiviert.

5. **Zugangsdaten eintragen.** Aktivieren Sie **Authentication**. Setzen Sie **SMTP Username** auf `emailit` und **SMTP Password** auf Ihren API-Schlüssel. Speichern Sie die Einstellungen.

6. **Test senden.** Senden Sie mit dem Tool **Email Test** des Plugins eine Nachricht an Ihre eigene Adresse. Sie erscheint innerhalb von Sekunden unter **Email API → Emails**.

### Schlüssel aus der Datenbank heraushalten

WP Mail SMTP kann seine Einstellungen aus Konstanten lesen, sodass der API-Schlüssel in `wp-config.php` statt in der Datenbank liegt. Fügen Sie diese Zeilen oberhalb von `/* That's all, stop editing! */` ein:

```php title="wp-config.php"
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', 'smtp.emailit.com' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_AUTOTLS', true );
define( 'WPMS_SMTP_USER', 'emailit' );
define( 'WPMS_SMTP_PASS', 'secret_••••••••••••••••••••••••••••••••' );
define( 'WPMS_MAIL_FROM', 'hello@acme.com' );
define( 'WPMS_MAIL_FROM_FORCE', true );
define( 'WPMS_MAIL_FROM_NAME', 'Acme' );
```

Die Einstellungsseite zeigt diese Werte dann als gesperrt an. Prüfen Sie die Dokumentation des Plugins, falls ein Feld seine Konstante nicht übernimmt.

## Ohne Plugin konfigurieren

Wenn Sie lieber kein Plugin installieren möchten, fügen Sie ein Must-use-Plugin hinzu, das den integrierten PHPMailer von WordPress konfiguriert. Definieren Sie den Schlüssel in `wp-config.php`:

```php title="wp-config.php"
define( 'EMAILIT_API_KEY', 'secret_••••••••••••••••••••••••••••••••' );
```

Erstellen Sie dann diese Datei:

```php title="wp-content/mu-plugins/emailit-smtp.php"
<?php
/**
 * Plugin Name: Emailit SMTP
 * Description: Sends all WordPress email through the Emailit SMTP relay.
 */

add_action( 'phpmailer_init', function ( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.emailit.com';
    $phpmailer->Port       = 587;
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Username   = 'emailit';
    $phpmailer->Password   = EMAILIT_API_KEY;
} );

add_filter( 'wp_mail_from', fn () => 'hello@acme.com' );
add_filter( 'wp_mail_from_name', fn () => 'Acme' );
```

Dateien in `mu-plugins` werden automatisch geladen und lassen sich im Admin-Bereich nicht deaktivieren.

## Webhooks empfangen

Die meisten Websites brauchen keine Webhooks. Wenn Sie auf Bounces oder Beschwerden reagieren möchten, etwa um die Adresse eines WooCommerce-Kunden zu markieren, registrieren Sie eine REST-Route und verifizieren Sie die Signatur. Speichern Sie das Signatur-Secret des Webhooks in `wp-config.php` als `EMAILIT_WEBHOOK_SECRET`:

```php title="wp-content/mu-plugins/emailit-webhooks.php"
<?php
add_action( 'rest_api_init', function () {
    register_rest_route( 'emailit/v1', '/webhook', [
        'methods'             => 'POST',
        'permission_callback' => '__return_true',
        'callback'            => function ( WP_REST_Request $request ) {
            $payload   = $request->get_body();
            $timestamp = (string) $request->get_header( 'x-emailit-timestamp' );
            $signature = (string) $request->get_header( 'x-emailit-signature' );
            $expected  = hash_hmac( 'sha256', $timestamp . '.' . $payload, EMAILIT_WEBHOOK_SECRET );

            if ( abs( time() - (int) $timestamp ) > 300 || ! hash_equals( $expected, $signature ) ) {
                return new WP_Error( 'invalid_signature', 'Invalid signature', [ 'status' => 401 ] );
            }

            foreach ( json_decode( $payload, true ) as $event ) {
                if ( 'email.bounced' === $event['type'] ) {
                    // Flag $event['data']['object']['to'].
                }
            }

            return new WP_REST_Response( null, 200 );
        },
    ] );
} );
```

Richten Sie den [Webhook](/de/docs/webhooks/set-up/) auf `https://acme.com/wp-json/emailit/v1/webhook` aus. Die Signaturprüfung schützt die Route; entfernen Sie sie daher nicht.

## Tipps für den Produktivbetrieb

- **Absenderadresse erzwingen.** WooCommerce-, Kontaktformular- und Mitgliedschafts-Plugins setzen oft ihren eigenen Absender. Wenn Sie eine Absenderadresse auf Ihrer verifizierten Domain erzwingen, treten keine Fehler wie `530 From/Sender domain is not verified` mehr auf.
- **Bei Fehlern die Logs prüfen.** **Email API → Logs** zeigt jede SMTP-Anmeldung und jede Nachricht mit ihrem Statuscode, gefiltert nach API-Schlüssel.
- **Limits im Blick behalten.** Neue Workspaces können standardmäßig 2 E-Mails pro Sekunde und 5.000 pro Tag senden. Ein großer WooCommerce-Sale oder ein Newsletter-Plugin kann diese Grenze erreichen; unter [Limits](/de/docs/limits/) erfahren Sie, wie Sie mehr beantragen.
- **Keine Newsletter über wp_mail senden.** Für Marketing-E-Mails an eine Liste verwenden Sie [Kampagnen](/de/docs/campaigns/), die Abmeldelinks und Kontaktlisten für Sie verwalten.

## Fehlerbehebung

| Symptom | Ursache | Lösung |
| --- | --- | --- |
| `535 Authentication failed` | Das Passwort ist kein gültiger API-Schlüssel. | Fügen Sie den vollständigen Schlüssel einschließlich `secret_` ein und verwenden Sie `emailit` als Benutzernamen. |
| `530 From/Sender domain is not verified for this workspace` | Die Absenderadresse liegt nicht auf einer verifizierten Domain. | Legen Sie eine Absender-E-Mail auf Ihrer verifizierten Domain fest und erzwingen Sie sie. |
| `530 API key is restricted to sending domain` | Der Schlüssel ist auf eine andere Domain beschränkt. | Verwenden Sie eine Absenderadresse auf der Domain des Schlüssels oder einen anderen Schlüssel. |
| Zeitüberschreitung der Verbindung | Ihr Hoster blockiert den Port. | Versuchen Sie Port `2525` oder `2587` mit TLS oder bitten Sie Ihren Hoster, ausgehendes SMTP zu erlauben. |
| `550 Unverified workspaces can only send to workspace members' account emails` | Der Workspace hat noch keinen Produktionszugang. | [Produktionszugang beantragen](/de/docs/workspaces/production-access/). |

Weitere Hilfe finden Sie unter [SMTP-Fehlerbehebung](/de/docs/smtp/troubleshooting/).

## Nächste Schritte

  - [SMTP-Einstellungen](/de/docs/smtp/settings/): Ports, TLS und Zugangsdaten.
  - [Best Practices für die Zustellbarkeit](/de/docs/deliverability/best-practices/): Halten Sie Ihre E-Mails aus dem Spam-Ordner heraus.
  - [E-Mail-Status](/de/docs/logs/email-statuses/): Was die einzelnen Status in der Liste Emails bedeuten.
  - [API-Schlüssel](/de/docs/developers/api-keys/): Scopes, Domain-Beschränkungen und Rotation.

---
Quelle: https://emailit.com/de/docs/frameworks/wordpress/
