Schnellstart
Erste E-Mail per SMTP senden
Holen Sie sich Ihre SMTP-Zugangsdaten, wählen Sie einen Port und senden Sie eine Test-E-Mail über smtp.emailit.com mit swaks, OpenSSL oder Python. Verbinden Sie dann Ihre App oder Ihr Framework.
Dieser Schnellstart zeigt, wie Sie eine Test-E-Mail aus Ihrem Terminal über das SMTP-Relay von Emailit senden und dann Ihre eigene App verbinden. Verwenden Sie SMTP, wenn Ihre Software bereits SMTP-Einstellungen hat. Für neuen Code bietet die API mehr.
Voraussetzungen
- Eine verifizierte Versanddomain. Wenn Sie noch keine haben, folgen Sie dem ersten Abschnitt des API-Schnellstarts oder der Anleitung Versanddomain hinzufügen.
- Ein API-Schlüssel. Erstellen Sie einen unter Email APIAPI Keys mit Add API key. Ihr API-Schlüssel ist Ihr SMTP-Passwort.
Ihre SMTP-Zugangsdaten
| Einstellung | Wert |
|---|---|
| Host | smtp.emailit.com |
| Port | 587 mit STARTTLS (empfohlen). Alternativen finden Sie in der Tabelle unten. |
| Benutzername | emailit |
| Passwort | Ihr API-Schlüssel, beginnend mit secret_ |
| Authentifizierung | PLAIN oder LOGIN |
| Absenderadresse | Jede Adresse auf einer verifizierten Versanddomain, z. B. Acme <hello@acme.com> |
Diese Einstellungen sehen Sie auch auf der Karte SMTP Info, wenn Sie einen Schlüssel unter Email APIAPI Keys öffnen.
| Port | Verschlüsselung | Wann verwenden |
|---|---|---|
587 |
STARTTLS | Der Standard für die meisten Apps und Bibliotheken |
465 |
TLS ab dem ersten Byte (implizites TLS) | Wenn Ihr Client es „SSL“ oder „SMTPS“ nennt |
2525 |
STARTTLS | Wenn Ihr Netzwerk oder Hosting-Anbieter 587 blockiert |
2587 |
STARTTLS | Eine weitere Alternative, wenn 587 und 2525 blockiert sind |
25 |
STARTTLS | Relaying von Server zu Server. Viele Cloud-Anbieter blockieren ausgehenden Verkehr auf Port 25. |
Das Relay bietet TLS auf jedem Port an, erzwingt es aber nicht. Aktivieren Sie TLS in Ihrem Client immer, damit Ihr API-Schlüssel nicht im Klartext gesendet wird.
Test-E-Mail senden
Wählen Sie eines dieser Tools. Ersetzen Sie hello@acme.com durch eine Adresse auf Ihrer verifizierten Domain und ada@example.com durch die E-Mail-Adresse, mit der Sie sich registriert haben.
swaks
swaks ist ein Kommandozeilen-Tool zum Testen von SMTP. Installieren Sie es mit brew install swaks oder apt install swaks und führen Sie dann Folgendes aus:
swaks --server smtp.emailit.com:587 --tls \
--auth-user emailit --auth-password "$EMAILIT_API_KEY" \
--from hello@acme.com --to ada@example.com \
--header "Subject: Hello from Emailit SMTP" \
--body "This is my first email sent through the Emailit SMTP relay."swaks gibt die gesamte SMTP-Unterhaltung aus. Die letzte Antwort des Servers enthält die E-Mail-ID:
<~ 250 2.0.0 OK: queued as em_2pX7cN4kQ9vLm3RtB8yWd1ZsOpenSSL
OpenSSL ist auf den meisten Systemen vorinstalliert und lässt Sie die SMTP-Befehle selbst eingeben. Kodieren Sie zuerst Ihre Zugangsdaten für AUTH PLAIN:
printf '\0emailit\0%s' "$EMAILIT_API_KEY" | base64Öffnen Sie dann eine Verbindung und geben Sie die folgenden Befehle ein; fügen Sie dabei die kodierte Zeichenfolge nach AUTH PLAIN ein:
openssl s_client -connect smtp.emailit.com:587 -starttls smtp -crlf -quietEHLO localhost
AUTH PLAIN AGVtYWlsaXQAc2VjcmV0X...
MAIL FROM:<hello@acme.com>
RCPT TO:<ada@example.com>
DATA
From: Acme <hello@acme.com>
To: ada@example.com
Subject: Hello from Emailit SMTP
This is my first email sent through the Emailit SMTP relay.
.
QUITNach AUTH PLAIN antwortet der Server mit 235. Nach der Zeile mit einem einzelnen . antwortet er mit 250 2.0.0 OK: queued as em_….
Python
Das integrierte smtplib von Python braucht keine zusätzlichen Pakete:
import os
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "Hello from Emailit SMTP"
msg.set_content("This is my first email sent through the Emailit SMTP relay.")
msg.add_alternative("<p>This is my first email sent through the Emailit SMTP relay.</p>", subtype="html")
with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
smtp.starttls()
smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
smtp.send_message(msg)
print("Accepted by Emailit")Wenn das Skript ohne Exception durchläuft, hat Emailit die E-Mail angenommen.
In der Weboberfläche prüfen
Öffnen Sie Email APIEmails. Ihre E-Mail steht oben im Tab Outgoing, und ihr Status wechselt von accepted zu delivered, sobald der Server des Empfängers sie annimmt. Jede SMTP-Sitzung erscheint außerdem unter Email APILogs mit der Quelle SMTP, sodass Sie auch fehlgeschlagene Anmeldungen und abgelehnte Nachrichten sehen.
Häufige Antworten
| Antwort | Ursache | Lösung |
|---|---|---|
535 Authentication failed |
Falscher oder gelöschter API-Schlüssel | Verwenden Sie einen aktuellen API-Schlüssel als Passwort. Siehe 535-Fehler. |
530 From/Sender domain is not verified for this workspace |
Die Absenderadresse liegt nicht auf einer verifizierten Domain | Verifizieren Sie die Domain oder ändern Sie die Absenderadresse. Siehe 530-Fehler. |
550 Unverified workspaces can only send to workspace members' account emails |
Sandbox-Modus | Senden Sie an die Konto-E-Mail-Adresse eines Mitglieds oder beantragen Sie Produktionszugang |
452 4.4.5 Messages per second limit exceeded |
Ihr Limit pro Sekunde ist überschritten | Senden Sie langsamer und versuchen Sie es erneut. Die Limits gelten gemeinsam mit der API. |
452 4.5.3 Daily message limit exceeded |
Sie haben das heutige Limit erreicht | Warten Sie bis Mitternacht UTC oder beantragen Sie eine Erhöhung |
| Verbindungs-Timeout | Ihr Netzwerk blockiert den Port | Versuchen Sie 2525 oder 2587. Siehe Verbindungs-Timeouts. |
Alle Antwortcodes finden Sie unter SMTP-Fehlerbehebung.
App verbinden
Tragen Sie dieselben Einstellungen in Ihre App oder Ihr Framework ein. Diese Anleitungen zeigen die genaue Konfiguration: