SMTP Relay
E-Mails über das Mail.Land SMTP Relay mit Standard-SMTP-Protokollen versenden
MailLand bietet ein SMTP Relay für Anwendungen, die E-Mails über SMTP versenden. Verwenden Sie dieselben API-Zugangsdaten zur Authentifizierung und senden Sie über Standard-SMTP-Ports.
Verbindungseinstellungen
| Einstellung | Wert |
|---|---|
| Host | smtp.mail.land |
| Port 587 | Submission mit STARTTLS (erforderlich) |
| Authentifizierung | Erforderlich |
| Benutzername | Beliebiger Wert (z. B. Ihre E-Mail oder apikey) |
| Passwort | Ihr MailLand API-Schlüssel |
| Maximale Nachrichtengröße | 15 MiB (15.728.640 Byte); größere Nachrichten werden mit 552 abgelehnt |
In der Produktion wird für das Relay nur Port 587 (STARTTLS) veröffentlicht. Port 465 (implizites TLS) ist nicht veröffentlicht, und Port 25 wird zum separaten Inbound-Gateway geroutet, nicht zum Relay.
Authentifizierung
Die SMTP-Authentifizierung verwendet Ihren MailLand API-Schlüssel als Passwort. Der Benutzername kann ein beliebiger Wert sein: MailLand ignoriert ihn und authentifiziert ausschließlich anhand des API-Schlüssels.
Ihre Zugangsdaten müssen den Smtp-Kanal aktiviert haben. Wenn Ihre Zugangsdaten nur Api aktiviert haben, wird die SMTP-Authentifizierung abgelehnt.
Username: apikey
Password: ml_pet_Ab3Kx9mN2pQ7rT4wL8yD...Ihre Konto-E-Mail und Ihr Kontopasswort werden für SMTP nicht akzeptiert. Erstellen Sie im Panel SMTP-Zugangsdaten und verwenden Sie diese als Passwort.
Konfigurationsbeispiele
const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
host: 'smtp.mail.land',
port: 587,
secure: false, // STARTTLS
auth: {
user: 'apikey',
pass: 'ml_pet_Ab3Kx9mN2pQ7rT4wL8yD...',
},
});
await transporter.sendMail({
from: '"Your App" <[email protected]>',
to: '[email protected]',
subject: 'Hello from MailLand',
html: '<h1>Hello!</h1><p>Sent via SMTP relay.</p>',
text: 'Hello! Sent via SMTP relay.',
});Durchsetzung der Zugangsdaten
Für SMTP gelten dieselben Zugangsdaten-Regeln wie für die REST API:
- Stream: transaktionale Zugangsdaten begrenzen auf 5 Empfänger pro Nachricht; Marketing-Zugangsdaten erlauben bis zu 1.000 Empfänger pro Nachricht
- Domain-Geltungsbereich: wenn die Zugangsdaten auf bestimmte Domains beschränkt sind, muss die Absenderdomain in der Erlaubnisliste sein
- IP-Whitelist: wenn die Zugangsdaten IP-Einschränkungen haben, muss die verbindende IP erlaubt sein
- Ratenlimits: die Zugangsdaten-Limits pro Minute (falls gesetzt), pro Stunde (Standard 1.000) und pro Tag (Standard 10.000) werden vor den Plan-Limits des Workspaces durchgesetzt. Eine Überschreitung ergibt ein vorübergehendes
421. Das Limit pro Sekunde wird derzeit nicht durchgesetzt - Modus: Sandbox-Credentials nehmen die E-Mail an und zeichnen sie auf, stellen sie aber nie zu, unabhängig von
sandboxBehavior
IP-Verbindungslimits
Unabhängig von den Zugangsdaten-Ratenlimits werden SMTP-Verbindungen pro IP-Adresse ratenbegrenzt:
| Limit | Standard |
|---|---|
| Verbindungen pro Minute | 30 |
| Verbindungen pro Stunde | 300 |
Diese Limits gelten vor der Authentifizierung. Bei Überschreitung wird die Verbindung mit einer Meldung zum späteren Wiederversuch abgelehnt.
SMTP-Antwortcodes
| Code | Bedeutung |
|---|---|
250 | Nachricht zur Zustellung akzeptiert |
421 | Vorübergehend: Ratenlimit von Zugangsdaten oder Workspace, Kontingent oder Warmup-Taktung überschritten. Später erneut versuchen; dies ist keine dauerhafte Ablehnung |
451 | Vorübergehend: Versand pausiert wegen einer Volumenspitze, einer Marketing-Pause oder einer Deliverability-Sperre. Nachricht in der Warteschlange behalten und erneut versuchen; sie wird angenommen, sobald die Pause aufgehoben ist |
550 | Dauerhaft: Domain nicht verifiziert, Absender/Empfänger blockiert, Verifizierung erforderlich, oder das Marketing-Empfängerlimit (1.000 pro Nachricht) überschritten, oder alle Empfänger sind unterdrückt (5.7.1) |
552 | Dauerhaft: Nachricht überschreitet die maximale Größe (15 MiB), die Anhänge überschreiten decodiert insgesamt 10 MiB, oder die zusammengesetzte Nachricht überschreitet das Nachrichtenbudget der Plattform (5.3.4) |
Fehlerbehandlung
Wenn eine Nachricht abgelehnt wird, enthält die SMTP-Antwort einen menschenlesbaren Grund. Eine vorübergehende (wiederholbare) Ablehnung sieht so aus:
421 Try again later: rate limit exceeded
421 Try again later: monthly quota exceeded
421 Try again later: credential rate limit exceeded
451 4.7.0 Marketing emails are paused for this accountEine dauerhafte Ablehnung sieht so aus:
550 5.7.1 Domain is not verified. Add DNS records at https://app.mail.landIm Gegensatz zur REST API (die 202 Accepted zurückgibt und asynchron verarbeitet) kann SMTP Nachrichten synchron auf Verbindungsebene für Domain-, Ratenlimit- und Kontingentverstöße ablehnen.
SMTP vs. REST API
| Funktion | REST API | SMTP Relay |
|---|---|---|
| Protokoll | HTTPS | SMTP |
| Authentifizierung | X-API-Key-Header | SMTP AUTH (Schlüssel als Passwort) |
| Antwort | Asynchron (202 Accepted) | Synchron (250 OK oder Fehler) |
| Anhänge | Base64 in JSON | Standard-MIME |
| Templates | templateId-Feld | Nicht unterstützt (MIME verwenden) |
| Geplanter Versand | scheduledAt-Feld | Nicht unterstützt |
| Tracking | tracking-Feld | Pro Domain konfiguriert |
| Empfängerspezifische Variablen | to[].variables | Nicht unterstützt |
| Massenversand | send-batch-Endpoint | Nicht unterstützt |
Nächste Schritte
- REST API: E-Mails über die REST API senden
- API-Schlüssel: SMTP-Kanal für Ihre Zugangsdaten konfigurieren
- Domain-Einrichtung: DNS-Einträge für Ihre Sendedomain konfigurieren