Email-API

Derzeit haben wir noch keine API-Wrapper veröffentlicht, planen dies aber in naher Zukunft zu tun. Senden Sie eine E-Mail an api@forwardemail.net, wenn Sie benachrichtigt werden möchten, sobald ein API-Wrapper für eine bestimmte Programmiersprache veröffentlicht wird. In der Zwischenzeit können Sie diese empfohlenen HTTP-Anfragebibliotheken in Ihrer Anwendung verwenden oder einfach curl wie in den folgenden Beispielen nutzen.

Sprache Bibliothek
Ruby Faraday
Python requests
Java OkHttp
PHP guzzle
JavaScript superagent (wir sind Maintainer)
Node.js superagent (wir sind Maintainer)
Go net/http
.NET RestSharp

Der aktuelle HTTP-Basis-URI-Pfad ist: https://fe.tiamati.email.

Alle Endpunkte erfordern eine Authentifizierung mittels Basic Authorization. Wir unterstützen zwei Authentifizierungsmethoden:

Setzen Sie Ihren API-Schlüssel als "Benutzername" mit einem leeren Passwort:

curl https://fe.tiamati.email/v1/account \
  -u API_TOKEN:

Beachten Sie den Doppelpunkt (:) nach dem API-Token – dieser zeigt ein leeres Passwort im Basic-Auth-Format an.

Alias-Anmeldeinformationen Authentifizierung (Für ausgehende E-Mails)

Der Endpunkt Create outbound SMTP email unterstützt auch die Authentifizierung mit Ihrer Alias-E-Mail-Adresse und einem generierten Alias-Passwort:

curl -X POST https://fe.tiamati.email/v1/emails \
  -u "alias@yourdomain.com:your_generated_password" \
  -d "to=recipient@example.com" \
  -d "subject=Hello" \
  -d "text=Test email"

Diese Methode ist nützlich, wenn E-Mails von Anwendungen gesendet werden, die bereits SMTP-Anmeldeinformationen verwenden, und macht die Migration von SMTP zu unserer API nahtlos.

Nur Alias-Endpunkte

Die Endpunkte Alias Contacts, Alias Calendars, Alias Messages und Alias Folders erfordern Alias-Anmeldeinformationen und unterstützen keine API-Token-Authentifizierung.

Keine Sorge – Beispiele werden unten bereitgestellt, falls Sie nicht sicher sind, was das ist.

Wenn Fehler auftreten, enthält der Antwortkörper der API-Anfrage eine detaillierte Fehlermeldung.

Code Name
200 OK
400 Ungültige Anfrage
401 Nicht autorisiert
403 Verboten
404 Nicht gefunden
429 Zu viele Anfragen
500 Interner Serverfehler
501 Nicht implementiert
502 Fehlerhaftes Gateway
503 Dienst nicht verfügbar
504 Gateway-Zeitüberschreitung

Tip

Wenn Sie einen 5xx-Statuscode erhalten (was nicht passieren sollte), kontaktieren Sie uns bitte unter api@forwardemail.net und wir helfen Ihnen, Ihr Problem sofort zu lösen.

Unser Dienst ist in über 25 verschiedene Sprachen übersetzt. Alle API-Antwortnachrichten werden in die zuletzt erkannte Sprache des Benutzers übersetzt, der die API-Anfrage stellt. Sie können dies überschreiben, indem Sie einen benutzerdefinierten Accept-Language-Header übergeben. Probieren Sie es gerne mit dem Sprach-Dropdown unten auf dieser Seite aus.

Note

Ab dem 1. November 2024 werden die API-Endpunkte für List domains und List domain aliases standardmäßig 1000 maximale Ergebnisse pro Seite zurückgeben. Wenn Sie dieses Verhalten frühzeitig aktivieren möchten, können Sie ?paginate=true als zusätzlichen Querystring-Parameter an die URL des Endpunkt-Queries anhängen.

Paginierung wird von allen API-Endpunkten unterstützt, die Ergebnisse auflisten.

Geben Sie einfach die Querystring-Eigenschaften page (und optional limit) an.

Die Eigenschaft page sollte eine Zahl größer oder gleich 1 sein. Wenn Sie limit angeben (ebenfalls eine Zahl), liegt der Mindestwert bei 10 und der Höchstwert bei 50 (sofern nicht anders angegeben).

Querystring-Parameter Erforderlich Typ Beschreibung
page Nein Zahl Seite der zurückzugebenden Ergebnisse. Wenn nicht angegeben, ist der Wert von page 1. Muss eine Zahl größer oder gleich 1 sein.
limit Nein Zahl Anzahl der Ergebnisse pro Seite. Standardmäßig 10, wenn nicht angegeben. Muss eine Zahl größer oder gleich 1 und kleiner oder gleich 50 sein.
Um festzustellen, ob weitere Ergebnisse verfügbar sind, stellen wir diese HTTP-Antwortheader bereit (die Sie zum programmgesteuerten Paginieren parsen können):
HTTP Response Header Beispiel Beschreibung
X-Page-Count X-Page-Count: 3 Die insgesamt verfügbare Seitenanzahl.
X-Page-Current X-Page-Current: 1 Die aktuell zurückgegebene Ergebnisseite (z. B. basierend auf dem page Querystring-Parameter).
X-Page-Size X-Page-Size: 10 Die Gesamtanzahl der Ergebnisse auf der zurückgegebenen Seite (z. B. basierend auf dem limit Querystring-Parameter und den tatsächlich zurückgegebenen Ergebnissen).
X-Item-Count X-Item-Count: 30 Die Gesamtanzahl der verfügbaren Elemente über alle Seiten hinweg.
Link Link: <https://api.forwardemail.net/v1/emails?page=1>; rel="prev", <https://api.forwardemail.net/v1/emails?page=3>; rel="next", <https://api.forwardemail.net/v1/emails?page=3; rel="last", https://api.forwardemail.net/v1/emails?page=1; rel="first" Wir stellen einen Link HTTP-Antwortheader bereit, den Sie wie im Beispiel gezeigt parsen können. Dies ist ähnlich wie bei GitHub (z. B. werden nicht alle Werte bereitgestellt, wenn sie nicht relevant oder verfügbar sind, z. B. wird "next" nicht bereitgestellt, wenn keine weitere Seite existiert).

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com/aliases?page=2&pagination=true \
  -u API_TOKEN:

Protokolle abrufen

Unsere API ermöglicht es Ihnen programmatisch, Protokolle für Ihr Konto herunterzuladen. Eine Anfrage an diesen Endpunkt verarbeitet alle Protokolle für Ihr Konto und sendet sie Ihnen als Anhang (eine Gzip-komprimierte CSV-Tabellendatei) per E-Mail, sobald der Vorgang abgeschlossen ist.

Dies ermöglicht es Ihnen, Hintergrundaufgaben mit einem Cron-Job oder mit unserer Node.js-Jobplanungssoftware Bree zu erstellen, um Protokolle jederzeit zu erhalten. Beachten Sie, dass dieser Endpunkt auf 10 Anfragen pro Tag begrenzt ist.

Der Anhang trägt den Kleinbuchstaben-Form von email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz und die E-Mail selbst enthält eine kurze Zusammenfassung der abgerufenen Protokolle. Sie können Protokolle auch jederzeit unter Mein Konto → Protokolle herunterladen.

GET /v1/logs/download

Querystring-Parameter Erforderlich Typ Beschreibung
domain Nein String (FQDN) Filtert Protokolle nach vollständig qualifiziertem Domainnamen ("FQDN"). Wenn Sie diesen Parameter nicht angeben, werden alle Protokolle aller Domains abgerufen.
q Nein String Suche in Protokollen nach E-Mail, Domain, Aliasnamen, IP-Adresse oder Datum (Formate M/Y, M/D/YY, M-D, M-D-YY oder M.D.YY).
bounce_category Nein String Suche in Protokollen nach einer bestimmten Bounce-Kategorie (z.B. blocklist).
response_code Nein Zahl Suche in Protokollen nach einem bestimmten Fehler-Antwortcode (z.B. 421 oder 550).

Beispielanfrage:

curl https://fe.tiamati.email/v1/logs/download \
  -u API_TOKEN:

Beispiel Cron-Job (täglich um Mitternacht):

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download -u API_TOKEN: &>/dev/null

Beachten Sie, dass Sie Dienste wie Crontab.guru verwenden können, um die Syntax Ihres Cron-Job-Ausdrucks zu validieren.

Beispiel Cron-Job (täglich um Mitternacht und mit Protokollen des Vortages):

Für MacOS:

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download?q=`date -v-1d -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Für Linux und Ubuntu:

0 0 * * * /usr/bin/curl https://fe.tiamati.email/v1/logs/download?q=`date --date "-1 days" -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Konto erstellen

POST /v1/account

Body-Parameter Erforderlich Typ Beschreibung
email Ja String (Email) E-Mail-Adresse
password Ja String Passwort

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Konto abrufen

GET /v1/account

Beispielanfrage:

curl https://fe.tiamati.email/v1/account \
  -u API_TOKEN:

Konto aktualisieren

PUT /v1/account

Body-Parameter Erforderlich Typ Beschreibung
email Nein String (Email) E-Mail-Adresse
given_name Nein String Vorname
family_name Nein String Nachname
avatar_url Nein String (URL) Link zum Avatarbild

Beispielanfrage:

curl -X PUT https://fe.tiamati.email/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Note

Im Gegensatz zu anderen API-Endpunkten erfordern diese Authentifizierung mit dem "Benutzernamen" gleich dem Alias-Benutzernamen und dem "Passwort" gleich dem vom Alias generierten Passwort als Basic-Authorization-Header. [!WARNING] Dieser Endpunktabschnitt ist noch in Arbeit und wird (hoffentlich) im Jahr 2024 veröffentlicht. Bitte verwenden Sie in der Zwischenzeit einen IMAP-Client aus dem Dropdown-Menü "Apps" in der Navigation unserer Website.

Kontakte auflisten

GET /v1/contacts

Demnächst verfügbar

Kontakt erstellen

POST /v1/contacts

Demnächst verfügbar

Kontakt abrufen

GET /v1/contacts/:id

Demnächst verfügbar

Kontakt aktualisieren

PUT /v1/contacts/:id

Demnächst verfügbar

Kontakt löschen

DELETE /v1/contacts/:id

Demnächst verfügbar

Note

Im Gegensatz zu anderen API-Endpunkten erfordern diese Authentifizierung mit "Benutzername" gleich dem Alias-Benutzernamen und "Passwort" gleich dem vom Alias generierten Passwort als Basic-Authorization-Header.

Warning

Dieser Endpunktabschnitt ist noch in Arbeit und wird (hoffentlich) im Jahr 2024 veröffentlicht. Bitte verwenden Sie in der Zwischenzeit einen IMAP-Client aus dem Dropdown-Menü "Apps" in der Navigation unserer Website.

Kalender auflisten

GET /v1/calendars

Demnächst verfügbar

Kalender erstellen

POST /v1/calendars

Demnächst verfügbar

Kalender abrufen

GET /v1/calendars/:id

Demnächst verfügbar

Kalender aktualisieren

PUT /v1/calendars/:id

Demnächst verfügbar

Kalender löschen

DELETE /v1/calendars/:id

Demnächst verfügbar

Note

Im Gegensatz zu anderen API-Endpunkten erfordern diese Authentifizierung mit "Benutzername" gleich dem Alias-Benutzernamen und "Passwort" gleich dem vom Alias generierten Passwort als Basic-Authorization-Header.

Warning

Dieser Endpunktabschnitt ist noch in Arbeit und wird (hoffentlich) im Jahr 2024 veröffentlicht. Bitte verwenden Sie in der Zwischenzeit einen IMAP-Client aus dem Dropdown-Menü "Apps" in der Navigation unserer Website.

Bitte stellen Sie sicher, dass Sie die Einrichtungshinweise für Ihre Domain befolgt haben.

Diese Anweisungen finden Sie in unserem FAQ-Bereich Unterstützen Sie den Empfang von E-Mails mit IMAP?.

Nachrichten auflisten und durchsuchen

GET /v1/messages

Demnächst verfügbar

Nachricht erstellen

Note

Dies wird KEINE E-Mail senden – es wird lediglich die Nachricht zu Ihrem Postfachordner hinzufügen (z. B. ähnlich dem IMAP-Befehl APPEND). Wenn Sie eine E-Mail senden möchten, siehe Ausgehende SMTP-E-Mail erstellen weiter unten. Nach dem Erstellen der ausgehenden SMTP-E-Mail können Sie eine Kopie davon mit diesem Endpunkt zu Ihrem Alias-Postfach hinzufügen, um sie zu speichern.

POST /v1/messages

Demnächst verfügbar

Nachricht abrufen

GET /v1/messages/:id

Demnächst verfügbar

Nachricht aktualisieren

PUT /v1/messages/:id

Demnächst verfügbar

Nachricht löschen

DELETE /v1/messages:id

Demnächst verfügbar

Tip

Ordner-Endpunkte mit dem Pfad eines Ordners /v1/folders/:path als Endpunkt sind austauschbar mit der ID eines Ordners :id. Das bedeutet, Sie können auf den Ordner entweder über seinen Pfad oder id-Wert verweisen.

Warning

Dieser Endpunktabschnitt ist noch in Arbeit und wird (hoffentlich) im Jahr 2024 veröffentlicht. Bitte verwenden Sie in der Zwischenzeit einen IMAP-Client aus dem Dropdown-Menü "Apps" in der Navigation unserer Website.

Ordner auflisten

GET /v1/folders

Demnächst verfügbar

Ordner erstellen

POST /v1/folders

Demnächst verfügbar

Ordner abrufen

GET /v1/folders/:id

Demnächst verfügbar

Ordner aktualisieren

PUT /v1/folders/:id

Demnächst verfügbar

Ordner löschen

DELETE /v1/folders/:id

Demnächst verfügbar

Ordner kopieren

POST /v1/folders/:id/copy

Demnächst verfügbar

Bitte stellen Sie sicher, dass Sie die Einrichtungshinweise für Ihre Domain befolgt haben.

Diese Anweisungen finden Sie unter Mein Konto → Domains → Einstellungen → Ausgehende SMTP-Konfiguration. Sie müssen die Einrichtung von DKIM, Return-Path und DMARC für das Senden von ausgehenden SMTP-E-Mails mit Ihrer Domain sicherstellen.

Abrufen des Limits für ausgehende SMTP-E-Mails

Dies ist ein einfacher Endpunkt, der ein JSON-Objekt mit der count und dem limit für die Anzahl der täglichen ausgehenden SMTP-Nachrichten pro Konto zurückgibt.

GET /v1/emails/limit

Beispielanfrage:

curl https://fe.tiamati.email/v1/emails/limit \
  -u API_TOKEN:

Auflisten ausgehender SMTP-E-Mails

Beachten Sie, dass dieser Endpunkt keine Eigenschaftswerte für die message, headers oder rejectedErrors einer E-Mail zurückgibt.

Um diese Eigenschaften und ihre Werte zurückzugeben, verwenden Sie bitte den E-Mail abrufen-Endpunkt mit einer E-Mail-ID.

GET /v1/emails

Querystring-Parameter Erforderlich Typ Beschreibung
q Nein String (RegExp unterstützt) Suche nach E-Mails anhand von Metadaten
domain Nein String (RegExp unterstützt) Suche nach E-Mails anhand des Domainnamens
sort Nein String Sortieren nach einem bestimmten Feld (mit einem einzelnen Bindestrich - vorangestellt, um in umgekehrter Reihenfolge zu sortieren). Standardmäßig created_at, falls nicht gesetzt.
page Nein Zahl Siehe Pagination für weitere Informationen
limit Nein Zahl Siehe Pagination für weitere Informationen

Beispielanfrage:

curl https://fe.tiamati.email/v1/emails?limit=1 \
  -u API_TOKEN:

Erstellen einer ausgehenden SMTP-E-Mail

Unsere API zum Erstellen einer E-Mail ist inspiriert von und nutzt die Nachrichtenoptionen-Konfiguration von Nodemailer. Bitte beachten Sie die Nodemailer Nachrichtenkonfiguration für alle untenstehenden Body-Parameter.

Beachten Sie, dass wir mit Ausnahme von envelope und dkim (da wir diese automatisch für Sie setzen) alle Nodemailer-Optionen unterstützen. Aus Sicherheitsgründen setzen wir automatisch die Optionen disableFileAccess und disableUrlAccess auf true.

Sie sollten entweder die einzelne Option raw mit Ihrer rohen vollständigen E-Mail inklusive Header übergeben oder die einzelnen Body-Parameter-Optionen unten angeben.

Dieser API-Endpunkt kodiert Emojis automatisch für Sie, wenn sie in den Headern gefunden werden (z. B. wird eine Betreffzeile Subject: 🤓 Hello automatisch in Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello umgewandelt). Unser Ziel war es, eine extrem entwicklerfreundliche und narrensichere E-Mail-API zu schaffen.

Authentifizierung: Dieser Endpunkt unterstützt sowohl die API-Token-Authentifizierung als auch die Alias-Anmeldeinformationen-Authentifizierung. Details finden Sie im Abschnitt Authentifizierung oben.

POST /v1/emails

Body-Parameter Erforderlich Typ Beschreibung
from Nein String (E-Mail) Die E-Mail-Adresse des Absenders (muss als Alias der Domain existieren).
to Nein String oder Array Kommagetrennte Liste oder ein Array von Empfängern für den "To"-Header.
cc Nein String oder Array Kommagetrennte Liste oder ein Array von Empfängern für den "Cc"-Header.
bcc Nein String oder Array Kommagetrennte Liste oder ein Array von Empfängern für den "Bcc"-Header.
subject Nein String Der Betreff der E-Mail.
text Nein String oder Buffer Die Klartextversion der Nachricht.
html Nein String oder Buffer Die HTML-Version der Nachricht.
attachments Nein Array Ein Array von Anhang-Objekten (siehe Nodemailers gemeinsame Felder).
sender Nein String Die E-Mail-Adresse für den "Sender"-Header (siehe Nodemailers erweiterte Felder).
replyTo Nein String Die E-Mail-Adresse für den "Reply-To"-Header.
inReplyTo Nein String Die Message-ID, auf die die Nachricht antwortet.
references Nein String oder Array Leerzeichen-getrennte Liste oder ein Array von Message-IDs.
attachDataUrls Nein Boolean Wenn true, werden data:-Bilder im HTML-Inhalt der Nachricht in eingebettete Anhänge umgewandelt.
watchHtml Nein String Eine Apple Watch-spezifische HTML-Version der Nachricht (laut Nodemailer-Dokumentation, die neuesten Watches benötigen dies nicht mehr.
amp Nein String Eine AMP4EMAIL-spezifische HTML-Version der Nachricht (siehe Nodemailers Beispiel).
icalEvent Nein Objekt Ein iCalendar-Ereignis, das als alternativer Nachrichteninhalt verwendet wird (siehe Nodemailers Kalenderereignisse).
alternatives Nein Array Ein Array alternativer Nachrichteninhalte (siehe Nodemailers alternative Inhalte).
encoding Nein String Kodierung für die Text- und HTML-Strings (Standard ist "utf-8", unterstützt aber auch "hex" und "base64").
raw Nein String oder Buffer Eine benutzerdefinierte, RFC822-formatierte Nachricht zur Verwendung (anstatt einer von Nodemailer generierten – siehe Nodemailers benutzerdefinierte Quelle).
textEncoding Nein String Die für Textwerte erzwungene Kodierung (entweder "quoted-printable" oder "base64"). Der Standardwert ist der am besten erkannte Wert (für ASCII verwenden Sie "quoted-printable").
priority Nein String Prioritätsstufe für die E-Mail (kann "high", "normal" (Standard) oder "low" sein). Beachten Sie, dass ein Wert von "normal" keinen Prioritätsheader setzt (dies ist das Standardverhalten). Wenn "high" oder "low" gesetzt wird, werden die Header X-Priority, X-MSMail-Priority und Importance entsprechend gesetzt.
headers Nein Objekt oder Array Ein Objekt oder ein Array zusätzlicher Header-Felder zum Setzen (siehe Nodemailers benutzerdefinierte Header).
messageId Nein String Ein optionaler Message-ID-Wert für den "Message-ID"-Header (ein Standardwert wird automatisch erstellt, falls nicht gesetzt – beachten Sie, dass der Wert der RFC2822-Spezifikation entsprechen sollte).
date Nein String oder Datum Ein optionaler Datumswert, der verwendet wird, wenn der Date-Header nach dem Parsen fehlt, andernfalls wird die aktuelle UTC-Zeit verwendet, falls nicht gesetzt. Der Date-Header darf nicht mehr als 30 Tage in der Zukunft liegen.
list Nein Objekt Ein optionales Objekt von List-*-Headern (siehe Nodemailers List-Header).

Beispielanfrage (API-Token):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u API_TOKEN: \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Beispielanfrage (Alias-Zugangsdaten):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u "alias@example.com:GENERATED_PASSWORD" \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Beispielanfrage (Roh-E-Mail):

curl -X POST https://fe.tiamati.email/v1/emails \
  -u API_TOKEN: \
  -d "raw=`cat file.eml`"

Abrufen ausgehender SMTP-E-Mails

GET /v1/emails/:id

Beispielanfrage:

curl https://fe.tiamati.email/v1/emails/:id \
  -u API_TOKEN:

Löschen ausgehender SMTP-E-Mails

Das Löschen einer E-Mail setzt den Status auf "rejected" (und verarbeitet sie anschließend nicht mehr in der Warteschlange), wenn und nur wenn der aktuelle Status einer der folgenden ist: "pending", "queued" oder "deferred". Wir können E-Mails automatisch 30 Tage nach ihrer Erstellung und/oder dem Versand löschen – daher sollten Sie eine Kopie ausgehender SMTP-E-Mails in Ihrem Client, Ihrer Datenbank oder Anwendung aufbewahren. Sie können unseren E-Mail-ID-Wert in Ihrer Datenbank referenzieren, falls gewünscht – dieser Wert wird sowohl von den Endpunkten E-Mail erstellen als auch E-Mail abrufen zurückgegeben.

DELETE /v1/emails/:id

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/emails/:id \
  -u API_TOKEN:

Tip

Domain-Endpunkte mit dem Domainnamen /v1/domains/:domain_name als Endpunkt sind austauschbar mit der Domain-ID :domain_id. Das bedeutet, Sie können sich entweder auf den name oder den id-Wert der Domain beziehen.

Domains auflisten

Note

Ab dem 1. November 2024 werden die API-Endpunkte für Domains auflisten und Domain-Aliase auflisten standardmäßig auf 1000 maximale Ergebnisse pro Seite begrenzt sein. Wenn Sie dieses Verhalten frühzeitig aktivieren möchten, können Sie ?paginate=true als zusätzlichen Querystring-Parameter an die URL der Endpunktabfrage anhängen. Siehe Pagination für weitere Informationen.

GET /v1/domains

Querystring-Parameter Erforderlich Typ Beschreibung
q Nein String (RegExp unterstützt) Suche nach Domains anhand des Namens
name Nein String (RegExp unterstützt) Suche nach Domains anhand des Namens
sort Nein String Sortierung nach einem bestimmten Feld (mit einem vorangestellten Bindestrich - wird in umgekehrter Reihenfolge sortiert). Standard ist created_at, falls nicht gesetzt.
page Nein Zahl Siehe Pagination für weitere Informationen
limit Nein Zahl Siehe Pagination für weitere Informationen

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains \
  -u API_TOKEN:

Domain erstellen

POST /v1/domains

Body-Parameter Erforderlich Typ Beschreibung
domain Ja String (FQDN oder IP) Vollqualifizierter Domainname ("FQDN") oder IP-Adresse
team_domain Nein String (Domain-ID oder Domainname; FQDN) Weist diese Domain automatisch demselben Team zu wie eine andere Domain. Das bedeutet, dass alle Mitglieder dieser Domain als Teammitglieder zugewiesen werden und der plan automatisch auf team gesetzt wird. Sie können dies auf "none" setzen, um dies explizit zu deaktivieren, ist aber nicht erforderlich.
plan Nein String (enumerierbar) Tariftyp (muss "free", "enhanced_protection" oder "team" sein, Standard ist "free" oder der aktuelle bezahlte Tarif des Benutzers, falls vorhanden)
catchall Nein String (getrennte E-Mail-Adressen) oder Boolean Erstellt einen Standard-Catch-All-Alias, Standard ist true (wenn true, wird die E-Mail-Adresse des API-Benutzers als Empfänger verwendet, und wenn false, wird kein Catch-All erstellt). Wenn ein String übergeben wird, ist dies eine durch Zeilenumbruch, Leerzeichen und/oder Komma getrennte Liste von E-Mail-Adressen als Empfänger.
has_adult_content_protection Nein Boolean Ob der Spam-Scanner für diese Domain einen Schutz vor Inhalten für Erwachsene aktiviert
has_phishing_protection Nein Boolean Ob der Spam-Scanner für diese Domain einen Phishing-Schutz aktiviert
has_executable_protection Nein Boolean Ob der Spam-Scanner für diese Domain einen Schutz vor ausführbaren Dateien aktiviert
has_virus_protection Nein Boolean Ob der Spam-Scanner für diese Domain einen Virenschutz aktiviert
has_recipient_verification Nein Boolean Globale Standardeinstellung der Domain, ob Alias-Empfänger einen E-Mail-Verifizierungslink anklicken müssen, damit E-Mails durchgeleitet werden
ignore_mx_check Nein Boolean Ob die MX-Record-Prüfung bei der Domain-Verifizierung ignoriert werden soll. Dies ist hauptsächlich für Benutzer mit fortgeschrittenen MX-Konfigurationsregeln gedacht, die ihre bestehenden MX-Einträge behalten und an unsere weiterleiten möchten.
retention_days Nein Zahl Ganzzahl zwischen 0 und 30, die angibt, wie viele Tage ausgehende SMTP-E-Mails nach erfolgreicher Zustellung oder permanentem Fehler gespeichert werden. Standard ist 0, was bedeutet, dass ausgehende SMTP-E-Mails sofort aus Sicherheitsgründen gelöscht und unkenntlich gemacht werden.
bounce_webhook Nein String (URL) oder Boolean (false) Die http:// oder https:// Webhook-URL Ihrer Wahl, an die Bounce-Webhooks gesendet werden. Wir senden eine POST-Anfrage an diese URL mit Informationen zu ausgehenden SMTP-Fehlern (z.B. Soft- oder Hard-Fehler), damit Sie Ihre Abonnenten verwalten und den ausgehenden E-Mail-Verkehr programmatisch steuern können.
max_quota_per_alias Nein String Maximales Speicherplatzkontingent für Aliase auf diesem Domainnamen. Geben Sie einen Wert wie "1 GB" ein, der von bytes geparst wird.

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/domains \
  -u API_TOKEN: \
  -d domain=example.com \
  -d plan=free

Domain abrufen

GET /v1/domains/example.com

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com \
  -u API_TOKEN:

Domain-Datensätze überprüfen

GET /v1/domains/example.com/verify-records

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com/verify-records \
  -u API_TOKEN:

Domain SMTP-Datensätze überprüfen

GET /v1/domains/example.com/verify-smtp

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com/verify-smtp \
  -u API_TOKEN:

Domainweite Catch-All-Passwörter auflisten

GET /v1/domains/example.com/catch-all-passwords

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Domainweites Catch-All-Passwort erstellen

POST /v1/domains/example.com/catch-all-passwords

Body-Parameter Erforderlich Typ Beschreibung
new_password Nein String Ihr benutzerdefiniertes neues Passwort, das für das domainweite Catch-All-Passwort verwendet werden soll. Beachten Sie, dass Sie dieses Feld leer lassen oder ganz aus dem API-Anfrage-Body weglassen können, wenn Sie ein zufällig generiertes und sicheres Passwort wünschen.
description Nein String Beschreibung nur zu Organisationszwecken.

Beispielanfrage:

curl BASE_URL/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Domainweites Catch-All-Passwort entfernen

DELETE /v1/domains/example.com/catch-all-passwords/:token_id

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/catch-all-passwords/:token_id \
  -u API_TOKEN:

Domain aktualisieren

PUT /v1/domains/example.com

Body-Parameter Erforderlich Typ Beschreibung
smtp_port Nein String oder Zahl Benutzerdefinierter Port zur Konfiguration für SMTP-Weiterleitung (Standard ist "25")
has_adult_content_protection Nein Boolean Ob der Spam-Scanner-Schutz für Inhalte für Erwachsene auf dieser Domain aktiviert werden soll
has_phishing_protection Nein Boolean Ob der Spam-Scanner-Schutz gegen Phishing auf dieser Domain aktiviert werden soll
has_executable_protection Nein Boolean Ob der Spam-Scanner-Schutz gegen ausführbare Dateien auf dieser Domain aktiviert werden soll
has_virus_protection Nein Boolean Ob der Spam-Scanner-Virenschutz auf dieser Domain aktiviert werden soll
has_recipient_verification Nein Boolean Globale Domain-Standard-Einstellung, ob Alias-Empfänger einen E-Mail-Verifizierungslink anklicken müssen, damit E-Mails durchgeleitet werden
ignore_mx_check Nein Boolean Ob die MX-Record-Prüfung bei der Domain-Verifizierung ignoriert werden soll. Dies ist hauptsächlich für Nutzer gedacht, die erweiterte MX-Exchange-Konfigurationsregeln haben und ihren bestehenden MX-Exchange behalten und an unseren weiterleiten müssen.
retention_days Nein Zahl Ganzzahl zwischen 0 und 30, die der Anzahl der Aufbewahrungstage entspricht, an denen ausgehende SMTP-E-Mails nach erfolgreicher Zustellung oder dauerhaftem Fehler gespeichert werden. Standard ist 0, was bedeutet, dass ausgehende SMTP-E-Mails sofort gelöscht und unkenntlich gemacht werden.
bounce_webhook Nein String (URL) oder Boolean (false) Die http:// oder https:// Webhook-URL Ihrer Wahl, an die Bounce-Webhooks gesendet werden. Wir senden eine POST-Anfrage an diese URL mit Informationen zu ausgehenden SMTP-Fehlern (z.B. Soft- oder Hard-Fehler – damit Sie Ihre Abonnenten verwalten und Ihre ausgehenden E-Mails programmatisch steuern können).
max_quota_per_alias Nein String Maximales Speicherplatzkontingent für Aliase auf diesem Domainnamen. Geben Sie einen Wert wie "1 GB" ein, der von bytes geparst wird.

Beispielanfrage:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com \
  -u API_TOKEN:

Domain löschen

DELETE /v1/domains/:domain_name

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name \
  -u API_TOKEN:

Domain-Einladung annehmen

GET /v1/domains/:domain_name/invites

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Domain-Einladung erstellen

POST /v1/domains/example.com/invites

Body-Parameter Erforderlich Typ Beschreibung
email Ja String (E-Mail) E-Mail-Adresse, die zur Mitgliederliste der Domain eingeladen werden soll
group Ja String (enumerierbar) Gruppe, der der Benutzer in der Domain-Mitgliedschaft hinzugefügt wird (kann "admin" oder "user" sein)

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/invites \
  -u API_TOKEN: \
  -d "email=user%40gmail.com" \
  -d group=admin

Important

Wenn der eingeladene Benutzer bereits ein akzeptiertes Mitglied einer anderen Domain ist, deren Administrator der einladende Admin ebenfalls ist, wird die Einladung automatisch angenommen und keine E-Mail versendet.

Domain-Einladung entfernen

DELETE /v1/domains/:domain_name/invites

Body-Parameter Erforderlich Typ Beschreibung
email Ja String (E-Mail) E-Mail-Adresse, die aus der Mitgliederliste der Domain entfernt werden soll

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Domain-Mitglied aktualisieren

PUT /v1/domains/example.com/members/:member_id

Body-Parameter Erforderlich Typ Beschreibung
group Ja String (enumerierbar) Gruppe, in die der Benutzer in der Domain-Mitgliedschaft aktualisiert wird (kann "admin" oder "user" sein)

Beispielanfrage:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com/members/:member_id \
  -u API_TOKEN:

Domain-Mitglied entfernen

DELETE /v1/domains/:domain_name/members/:member_id

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/members/:member_id \
  -u API_TOKEN:

Alias-Passwort generieren

Beachten Sie, dass wenn Sie keine Anweisungen per E-Mail senden, der Benutzername und das Passwort im JSON-Antwortkörper einer erfolgreichen Anfrage im Format { username: 'alias@yourdomain.com', password: 'some-generated-password' } enthalten sind.

POST /v1/domains/example.com/aliases/:alias_id/generate-password

Body-Parameter Erforderlich Typ Beschreibung
new_password Nein String Ihr benutzerdefiniertes neues Passwort für den Alias. Beachten Sie, dass Sie dieses Feld leer lassen oder ganz aus dem API-Anfragekörper weglassen können, wenn Sie ein zufällig generiertes und sicheres Passwort erhalten möchten.
password Nein String Bestehendes Passwort für den Alias, um das Passwort zu ändern, ohne den bestehenden IMAP-Postfachspeicher zu löschen (siehe Option is_override unten, falls Sie das bestehende Passwort nicht mehr haben).
is_override Nein Boolean MIT VORSICHT VERWENDEN: Dies überschreibt das bestehende Alias-Passwort und die Datenbank vollständig, löscht dauerhaft den bestehenden IMAP-Speicher und setzt die SQLite-E-Mail-Datenbank des Alias komplett zurück. Bitte erstellen Sie wenn möglich ein Backup, falls ein bestehendes Postfach an diesen Alias gebunden ist.
emailed_instructions Nein String E-Mail-Adresse, an die das Passwort und die Einrichtungshinweise für den Alias gesendet werden sollen.

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/aliases/:alias_id/generate-password \
  -u API_TOKEN:

Domain-Aliase auflisten

Note

Ab dem 1. November 2024 werden die API-Endpunkte für Domains auflisten und Domain-Aliase auflisten standardmäßig auf 1000 maximale Ergebnisse pro Seite begrenzt sein. Wenn Sie dieses Verhalten frühzeitig aktivieren möchten, können Sie ?paginate=true als zusätzlichen Querystring-Parameter an die URL für die Endpunktabfrage anhängen. Siehe Pagination für weitere Informationen.

GET /v1/domains/example.com/aliases

Querystring-Parameter Erforderlich Typ Beschreibung
q Nein String (RegExp unterstützt) Suche nach Aliassen in einer Domain nach Name, Label oder Empfänger
name Nein String (RegExp unterstützt) Suche nach Aliassen in einer Domain nach Name
recipient Nein String (RegExp unterstützt) Suche nach Aliassen in einer Domain nach Empfänger
sort Nein String Sortierung nach einem bestimmten Feld (mit einem einzelnen Bindestrich - vorangestellt, um in umgekehrter Reihenfolge zu sortieren). Standardmäßig created_at, falls nicht gesetzt.
page Nein Zahl Siehe Pagination für weitere Informationen
limit Nein Zahl Siehe Pagination für weitere Informationen

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/example.com/aliases?pagination=true \
  -u API_TOKEN:

Neuen Domain-Alias erstellen

POST /v1/domains/example.com/aliases

Body-Parameter Erforderlich Typ Beschreibung
name Nein String Alias-Name (wenn nicht angegeben oder leer, wird ein zufälliger Alias generiert)
recipients Nein String oder Array Liste der Empfänger (muss ein String mit Zeilenumbruch/Leerzeichen/Komma getrennt oder ein Array gültiger E-Mail-Adressen, vollqualifizierter Domainnamen ("FQDN"), IP-Adressen und/oder Webhook-URLs sein – und wenn nicht angegeben oder ein leeres Array, wird die E-Mail des Benutzers, der die API-Anfrage stellt, als Empfänger gesetzt)
description Nein String Alias-Beschreibung
labels Nein String oder Array Liste von Labels (muss ein String mit Zeilenumbruch/Leerzeichen/Komma getrennt oder ein Array sein)
has_recipient_verification Nein Boolean Erfordert, dass Empfänger auf einen E-Mail-Verifizierungslink klicken, damit E-Mails durchgeleitet werden (standardmäßig die Einstellung der Domain, wenn nicht explizit im Request-Body gesetzt)
is_enabled Nein Boolean Ob dieser Alias aktiviert oder deaktiviert werden soll (wenn deaktiviert, werden E-Mails nirgendwohin geleitet, aber mit erfolgreichen Statuscodes beantwortet). Wenn ein Wert übergeben wird, wird er mit boolean in einen Boolean konvertiert.
error_code_if_disabled Nein Zahl (entweder 250, 421 oder 550) Eingehende E-Mails an diesen Alias werden abgelehnt, wenn is_enabled auf false gesetzt ist, mit entweder 250 (leise nirgendwohin liefern, z.B. Blackhole oder /dev/null), 421 (Soft-Reject; und Wiederholung bis zu ca. 5 Tage) oder 550 (dauerhafter Fehler und Ablehnung). Standard ist 250.
has_imap Nein Boolean Ob IMAP-Speicherung für diesen Alias aktiviert oder deaktiviert werden soll (wenn deaktiviert, werden eingehende E-Mails nicht im IMAP-Speicher gespeichert). Wenn ein Wert übergeben wird, wird er mit boolean in einen Boolean konvertiert.
has_pgp Nein Boolean Ob OpenPGP-Verschlüsselung für IMAP/POP3/CalDAV/CardDAV verschlüsselten E-Mail-Speicher mit dem public_key des Alias aktiviert oder deaktiviert werden soll.
public_key Nein String OpenPGP-öffentlicher Schlüssel im ASCII-Armor-Format (hier klicken für ein Beispiel; z.B. GPG-Schlüssel für support@forwardemail.net). Gilt nur, wenn has_pgp auf true gesetzt ist. Mehr über Ende-zu-Ende-Verschlüsselung in unserem FAQ.
max_quota Nein String Maximales Speicherlimit für diesen Alias. Leer lassen, um auf das aktuelle maximale Limit der Domain zurückzusetzen, oder einen Wert wie "1 GB" eingeben, der von bytes geparst wird. Dieser Wert kann nur von Domain-Admins angepasst werden.
vacation_responder_is_enabled Nein Boolean Ob ein automatischer Abwesenheitsassistent aktiviert oder deaktiviert werden soll.
vacation_responder_start_date Nein String Startdatum für den Abwesenheitsassistenten (wenn aktiviert und kein Startdatum hier gesetzt, wird angenommen, dass er bereits gestartet ist). Unterstützte Datumsformate sind z.B. MM/DD/YYYY, YYYY-MM-DD und weitere Formate durch intelligente Analyse mit dayjs.
vacation_responder_end_date Nein String Enddatum für den Abwesenheitsassistenten (wenn aktiviert und kein Enddatum hier gesetzt, wird angenommen, dass er nie endet und dauerhaft antwortet). Unterstützte Datumsformate sind z.B. MM/DD/YYYY, YYYY-MM-DD und weitere Formate durch intelligente Analyse mit dayjs.
vacation_responder_subject Nein String Betreff in Klartext für den Abwesenheitsassistenten, z.B. "Außer Haus". Es wird striptags verwendet, um hier sämtliches HTML zu entfernen.
vacation_responder_message Nein String Nachricht in Klartext für den Abwesenheitsassistenten, z.B. "Ich bin bis Februar außer Haus.". Es wird striptags verwendet, um hier sämtliches HTML zu entfernen.

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/domains/example.com/aliases \
  -u API_TOKEN:

Domain-Alias abrufen

Sie können einen Domain-Alias entweder über seine id oder seinen name Wert abrufen.

GET /v1/domains/:domain_name/aliases/:alias_id

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

GET /v1/domains/:domain_name/aliases/:alias_name

Beispielanfrage:

curl https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_name \
  -u API_TOKEN:

Domain-Alias aktualisieren

PUT /v1/domains/example.com/aliases/:alias_id

Body-Parameter Erforderlich Typ Beschreibung
name Nein String Alias-Name
recipients Nein String oder Array Liste der Empfänger (muss eine durch Zeilenumbruch/Leerzeichen/Komma getrennte Zeichenkette oder ein Array gültiger E-Mail-Adressen, vollqualifizierter Domainnamen ("FQDN"), IP-Adressen und/oder Webhook-URLs sein)
description Nein String Alias-Beschreibung
labels Nein String oder Array Liste der Labels (muss eine durch Zeilenumbruch/Leerzeichen/Komma getrennte Zeichenkette oder ein Array sein)
has_recipient_verification Nein Boolean Erfordert, dass Empfänger auf einen E-Mail-Verifizierungslink klicken, damit E-Mails durchgeleitet werden (standardmäßig wird die Einstellung der Domain verwendet, wenn im Request-Body nicht explizit gesetzt)
is_enabled Nein Boolean Ob dieser Alias aktiviert oder deaktiviert werden soll (wenn deaktiviert, werden E-Mails nirgendwohin geleitet, aber mit erfolgreichen Statuscodes beantwortet). Wenn ein Wert übergeben wird, wird dieser mit boolean in einen Boolean konvertiert)
error_code_if_disabled Nein Zahl (entweder 250, 421 oder 550) Eingehende E-Mails an diesen Alias werden abgelehnt, wenn is_enabled auf false gesetzt ist, mit entweder 250 (still an /dev/null liefern, z.B. Blackhole), 421 (weiche Ablehnung; und erneuter Versuch bis zu ca. 5 Tage) oder 550 (dauerhafter Fehler und Ablehnung). Standard ist 250.
has_imap Nein Boolean Ob IMAP-Speicherung für diesen Alias aktiviert oder deaktiviert werden soll (wenn deaktiviert, werden eingehende E-Mails nicht im IMAP-Speicher gespeichert). Wenn ein Wert übergeben wird, wird dieser mit boolean in einen Boolean konvertiert)
has_pgp Nein Boolean Ob OpenPGP-Verschlüsselung für IMAP/POP3/CalDAV/CardDAV verschlüsselten E-Mail-Speicher mit dem public_key des Alias aktiviert oder deaktiviert werden soll.
public_key Nein String OpenPGP-Public-Key im ASCII-Armor-Format (hier klicken für ein Beispiel; z.B. GPG-Key für support@forwardemail.net). Dies gilt nur, wenn has_pgp auf true gesetzt ist. Mehr über Ende-zu-Ende-Verschlüsselung in unserem FAQ.
max_quota Nein String Maximales Speicherlimit für diesen Alias. Leer lassen, um das aktuelle maximale Limit der Domain zurückzusetzen, oder einen Wert wie "1 GB" eingeben, der von bytes geparst wird. Dieser Wert kann nur von Domain-Admins angepasst werden.
vacation_responder_is_enabled Nein Boolean Ob ein automatischer Abwesenheitsassistent aktiviert oder deaktiviert werden soll.
vacation_responder_start_date Nein String Startdatum für den Abwesenheitsassistenten (wenn aktiviert und kein Startdatum hier gesetzt, wird angenommen, dass er bereits gestartet ist). Unterstützte Datumsformate sind z.B. MM/DD/YYYY, YYYY-MM-DD und weitere Formate durch intelligente Analyse mit dayjs.
vacation_responder_end_date Nein String Enddatum für den Abwesenheitsassistenten (wenn aktiviert und kein Enddatum hier gesetzt, wird angenommen, dass er nie endet und unbegrenzt antwortet). Unterstützte Datumsformate sind z.B. MM/DD/YYYY, YYYY-MM-DD und weitere Formate durch intelligente Analyse mit dayjs.
vacation_responder_subject Nein String Betreff in Klartext für den Abwesenheitsassistenten, z.B. "Außer Haus". Es wird striptags verwendet, um sämtliches HTML zu entfernen.
vacation_responder_message Nein String Nachricht in Klartext für den Abwesenheitsassistenten, z.B. "Ich bin bis Februar außer Haus.". Es wird striptags verwendet, um sämtliches HTML zu entfernen.

Beispielanfrage:

curl -X PUT https://fe.tiamati.email/v1/domains/example.com/aliases/:alias_id \
  -u API_TOKEN:

Domain-Alias löschen

DELETE /v1/domains/:domain_name/aliases/:alias_id

Beispielanfrage:

curl -X DELETE https://fe.tiamati.email/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

Wir erlauben es Ihnen, Datensätze auch im kostenlosen Tarif ohne Kosten zu verschlüsseln. Datenschutz sollte kein Feature sein, sondern von Natur aus in allen Aspekten eines Produkts eingebaut sein. Wie in einer viel diskutierten Privacy Guides Diskussion und auf unseren GitHub-Issues stark gewünscht, haben wir dies hinzugefügt.

TXT-Datensatz verschlüsseln

POST /v1/encrypt

Body Parameter Erforderlich Typ Beschreibung
input Ja String Jeder gültige Forward Email Klartext-TXT-Datensatz

Beispielanfrage:

curl -X POST https://fe.tiamati.email/v1/encrypt \
  -d "input=user@gmail.com"