Integrations-Dokumentation
Zugangsdaten erhalten Sie nach Freischaltung Ihres Mandanten. Platzhalter in den Beispielen durch Ihre Werte ersetzen.
SMTP-Versand
Für Webformulare und transaktionale E-Mails über Ihre Subdomain ihr-name.sendwerk.at.
| Host | mail.sendwerk.at (oder mandantenspezifisch) |
| Port | 587 |
| Verschlüsselung | STARTTLS |
| Auth | SMTP-Benutzername + Passwort |
| Fair-Use | 5.000 E-Mails/Monat inklusive |
SMTP in Laravel konfigurieren
Nach Freischaltung tragen Sie die Zugangsdaten in .env ein:
MAIL_MAILER=smtp
MAIL_HOST=mail.sendwerk.at
MAIL_PORT=587
MAIL_USERNAME=ihr-smtp-user
MAIL_PASSWORD=ihr-smtp-passwort
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@ihr-name.sendwerk.at
MAIL_FROM_NAME="${APP_NAME}"
Testen mit php artisan tinker und Mail::raw('Test', fn($m) => $m->to('test@example.com'));. Ausführliche Anleitung: SMTP für Laravel.
WordPress & Contact Form 7
Für WordPress empfehlen wir ein SMTP-Plugin (z. B. WP Mail SMTP oder FluentSMTP). Einstellungen:
- Mailer: Other SMTP
- SMTP Host:
mail.sendwerk.at - Encryption: TLS (Port 587)
- Authentication: aktiviert
- From E-Mail: Adresse auf Ihrer Mandanten-Subdomain
Contact Form 7 nutzt standardmäßig wp_mail() — nach SMTP-Plugin-Konfiguration werden Formular-Mails über Sendwerk versendet.
SPF, DKIM und DMARC
Sendwerk richtet bei der Einrichtung die DNS-Einträge für Ihre Mandanten-Subdomain ein:
- SPF — definiert, welche Server E-Mails für Ihre Domain versenden dürfen
- DKIM — digitale Signatur zur Authentifizierung des Absenders
- DMARC — Richtlinie, wie empfangende Server mit nicht authentifizierten Mails umgehen
Das verbessert die Zustellbarkeit gegenüber Shared-Hosting-SMTP. Der aktuelle Stand ist über die Status-API abrufbar.
Status-API
JSON-Snapshot Ihrer Mail-Infrastruktur — ideal für Monitoring und Dashboards.
GET https://api.sendwerk.at/v1/status
Authorization: Bearer swk_live_…
Rate-Limit: 60 Anfragen/Minute pro API-Key.
Beispiel-Antwort (nach Worker-Aktivierung):
{
"subdomain": "ihr-name.sendwerk.at",
"overall": "ok",
"checked_at": "2026-06-24T12:00:00Z",
"checks": {
"mx": { "status": "ok" },
"spf": { "status": "warning", "detail": "…" }
}
}
Beispiele — SMTP
PHP (PHPMailer)
$mail->isSMTP();
$mail->Host = '{{SMTP_HOST}}';
$mail->SMTPAuth = true;
$mail->Username = '{{SMTP_USER}}';
$mail->Password = '{{SMTP_PASS}}';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
$mail->setFrom('{{FROM_EMAIL}}');
$mail->addAddress('{{TO_EMAIL}}');
$mail->Subject = 'Kontaktanfrage';
$mail->Body = 'Neue Nachricht …';
$mail->send();
Python
with smtplib.SMTP('{{SMTP_HOST}}', 587, timeout=30) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.login('{{SMTP_USER}}', '{{SMTP_PASS}}')
smtp.send_message(msg)
Node.js (nodemailer)
const transporter = nodemailer.createTransport({
host: '{{SMTP_HOST}}', port: 587, secure: false,
auth: { user: '{{SMTP_USER}}', pass: '{{SMTP_PASS}}' },
});
await transporter.sendMail({
from: '{{FROM_EMAIL}}', to: '{{TO_EMAIL}}',
subject: 'Kontaktanfrage', text: '…',
});
Beispiele — Status-API
curl
curl -sS -H "Authorization: Bearer {{API_KEY}}" \
https://api.sendwerk.at/v1/status
PHP
$ctx = stream_context_create(['http' => [
'header' => "Authorization: Bearer {{API_KEY}}\r\n",
]]);
$data = json_decode(file_get_contents(
'https://api.sendwerk.at/v1/status', false, $ctx
), true);
Python
requests.get('https://api.sendwerk.at/v1/status',
headers={'Authorization': f'Bearer {{API_KEY}}'}).json()
Node.js
const res = await fetch('https://api.sendwerk.at/v1/status', {
headers: { Authorization: 'Bearer {{API_KEY}}' },
});
console.log(await res.json());
Fehlercodes API
| HTTP | Bedeutung |
|---|---|
| 401 | Key fehlt, ungültig oder widerrufen |
| 404 | Mandant nicht gefunden |
| 429 | Rate-Limit überschritten |
Noch kein Mandant? Jetzt anfragen · Preise ansehen