In diesem Dokument werden die Backend-Endpunkte und deren Verhalten dokumentiert. Diese Beschreibung dient anschließend als Grundlage für die Entwicklung der iOS- und macOS-App und sollte aus diesem Grund möglichst fehlerfrei sein. Bevor Änderungen an diesem Dokument gepusht werden, muss das Xcode-Projekt nach der Verwendung der Endpunkte kontrolliert und ggf. angepasst werden!
Die hier bereitgestellten Informationen basieren auf:
- dem Quellcode des TrashMail.com-Backends
- dem untersuchten TrashMail-com-Frontend
- bestehenden TrashMail-Extensions
- und dem untersuchten Production-Backend mithilfe von Postman
Um die Funktionsweise bestmöglich zu demonstrieren, wird der Testnutzer "User" in den nachfolgenden Beispielen verwendet. Die Requests und Responses werden nicht generisch gehalten, sondern zeigen die Daten von "User".
Der Aufbau dieses Dokuments folgt einer klaren Struktur. Jeder Endpunkt wird mit...
- seiner Adresse (URL) eingeführt
- mit einer kurzen Beschreibung der Funktionalität definiert
- den erwarteten Eingabeparametern (z.B. der Aufbau des JSON) spezifiziert
- den erwarteten Ausgabeparametern (z.B. der Aufbau des JSON) spezifiziert
- und mit möglichen Hinweisen bzw. Besonderheiten konkretisiert
Jeder Endpunkt folgt dem gleichen Aufbau:
https://trashmail.com/?
api=1 & // Aktiviert API-Funktionalität
lang=x & // en, de, fr
cmd=x // Je nach aufzurufende Funktion
// Parameter werden nicht wie bei REST in der URL angegeben, sondern im HTTP-Body.
Fehlermeldungen haben immer den gleichen Aufbau:
{
"success":false,
"error_code":x, // Fehlercode > 0
"msg":"x" // Beschreibt den Fehler (bzw. den Code)
}
Erfolgsmeldungen haben immer den gleichen Aufbau:
{
"success":true,
"error_code":0, // Code 0 entspricht Erfolg
"msg":{...} // Je nach Endpunkt Antwort zur Anfrage
}
Die JSON-Eigenschaft "msg" wird je nach gesetzem HTTP-GET(lang) in einer anderen Sprache zurückgegeben!
- login
- add_real_email
- set_default_email
- set_failover_email
- del_real_email
- add_domain
- status_domains
- del_domain
- list_domains
- list_real_emails
- logout
- del_account
- register_account
- reset_password
- change_password
- set_newsletter
- set_status
- send_status
- download_dea_csv
- save_settings
- read_user_data
- read_dea
- read_dea (Suche)
- set_rewrite_from
- set_rewrite_to
- set_log_emails
- set_subject_prefix
- set_sim_ml
- create_dea
- update_dea
- destroy_dea
- read_logging
- read_logging_raw_data
- read_logging_events
- del_logging
- send_logging_emails
- load_cs_messages
- save_cs_messages
- read_whitelist
- read_whitelist (Suche)
- whitelist_add
- whitelist_delete
- add_blacklist
- del_blacklist
- read_blacklist
- read_blacklist (Suche)
- edit_blacklist
- read_queue
- read_queue (Suche)
- queue_delete_msg
- queue_delete_all_msg
- queue_accept_msg
- send_mail
Wenn die Anfrage als x-www-form-urlencoded
versendet wird:
Die POST-Parameter müssen URL-kodiert werden: [1,2,3]
=> %5B1,2,3%5D
, [email protected]
=> mail%40domain.de
usw. (Bei Swift: addingPercentEncoding
).
Dieser Endpunkt ermöglicht den Login am TrashMail.com-Server, um anschließend auf Funktionalitäten des Backends zuzugreifen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: fe-login-user, fe-login-pass
// Content-Type: application/json
{
"fe-login-user":"User", // String
"fe-login-pass":"secret" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"msg":{
"url":"https:\/\/trashmail.com\/?lang=en&cmd=manager", // String
"real_email_list":{
"[email protected]":true // Boolean
},
"domain_name_list":[
"0box.eu", // String...
"contbay.com",
"damnthespam.com",
"kurzepost.de",
"objectmail.com",
"proxymail.eu",
"rcpt.at",
"trash-mail.at",
"trashmail.at",
"trashmail.com",
"trashmail.io",
"trashmail.me",
"trashmail.net",
"wegwerfmail.de",
"wegwerfmail.net",
"wegwerfmail.org"
],
"session_id":"bk32m20sab2c6844dq968ouag3", // String
"preferences": { // Array
"DefaultCS": 0, // Integer
"DefaultDomain": "trashmail.com", // String
"DefaultFwds": 100, // Integer
"DefaultLifeSpan": 7, // Integer
"DefaultMasq": 1, // Integer
"DefaultNotify": 1, // Integer
"DefaultRealEmailAddress": "[email protected]", // String
"DefaultSortDir": "DESC", // String
"DefaultSortField": "ctime_text", // String
"notify-on-create-dea": true // Boolean
}
}
}
Hinweise:
- Der Aufruf dieses Endpunkts muss vor dem Aufruf anderer Endpunkte, die Funktionalitäten bereitstellen, erfolgen! Wenn sich daran nicht gehalten wird, wird als Fehlermeldung "Not logged in or expired session." zurückgegeben.
Dieser Endpunkt meldet den Benutzer am TrashMail.com-Server ab und setzt die serverseitige Session zurück. Nach dem Aufruf dieses Endpunktes muss erneut der Endpunkt login
aufgerufen werden, um die Funktionalitäten des TrashMail.com-Servers zu nutzen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Gibt alle im Account hinterlegten realen E-Mail Adressen zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data": {
"default_account_email":"[email protected]", // String
"real_email_list":[
"[email protected]", // String...
"[email protected]",
"[email protected]"
],
"failover_address":"[email protected]" // String
}
}
Hinweise:
- Keine
Fügt dem Account eine echte E-Mail Adresse hinzu.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email
// Content-Type: application/json
{
"email":"[email protected]" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Wenn die Anfrage erfolgreich war, erscheint die E-Mail Adresse noch nicht unter den eigenen E-Mail Adressen. Eine erfolgreiche Anfrage löst lediglich eine Bestätigungsmail an die echte E-Mail Adresse aus und wird erst danach dem Konto zugewiesen.
Setzt eine der im Account hinterlegten echten E-Mail Adressen als Standard.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email
// Content-Type: application/json
{
"email":"[email protected]"
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Nicht existierende E-Mail Adressen werden mit der Meldung "This email address needs to be confirmed first. Please check your email inbox for a confirmation email." abgelehnt.
Setzt eine der im Account hinterlegten echten E-Mail Adressen als Failover.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email
// Content-Type: application/json
{
"email":"[email protected]"
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Eine Failover-Adresse ist optional. Aus diesem Grund kann sie auch zurückgesetzt werden. Dafür muss
"email":""
gesendet werden.
Entfernt eine der im Account hinterlegten echten E-Mail Adressen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email
// Content-Type: application/json
{
"email":"[email protected]"
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"default_email":"[email protected]" // String
}
Hinweise:
- Wenn die Standard-Mail Adresse entfernt wird, wird automatisch eine andere E-Mail Adresse als Standard gesetzt.
Fügt dem Account eine eigene Domain für personalisierte E-Mail Adressen hinzu.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: domain
// Content-Type: application/json
{
"domain": "example.email" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"status":"Couldn't find 2 MX records, no MX entries found., missing SPF entry" // String
}
Hinweise:
- Keine
Gibt den aktuellen Status für alle im Account hinterlegten Domains zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"statusList":[
[
"example.com", // String...
"Error: Couldn't find 2 MX records, no MX entries found., missing SPF entry"
],
[
"example.net",
"Error: Couldn't find 2 MX records, no MX entries found., missing SPF entry"
]
]
}
Hinweise:
- Um an den Status einer einzelnen Domain zu kommen, muss die entsprechende Domain aus dem Array extrahiert werden. Es gibt keinen Endpunkt der explizit für eine Domain angefragt werden kann.
Entfernt eine der im Account hinterlegten Domains.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: domain
// Content-Type: application/json
{
"domain": "example.email" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Beim Löschen einer nicht vorhandenen Domain kommt keine Fehlerbeschreibung zurück:
{"success":false,"error_code":0}
.
Gibt alle im Account hinterlegten Domains zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"domainList":[
"0box.eu", // String...
"contbay.com",
"damnthespam.com",
"example.com",
"example.de",
"kurzepost.de",
"objectmail.com",
"proxymail.eu",
"rcpt.at",
"trash-mail.at",
"trashmail.at",
"trashmail.com",
"trashmail.io",
"trashmail.me",
"trashmail.net",
"wegwerfmail.de",
"wegwerfmail.net",
"wegwerfmail.org"
]
}
Hinweise:
- Keine
Entfernt einen bestehenden Benutzeraccount auf TrashMail.com.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"msg":"Account deleted." // String
}
Hinweise:
- Im Request wird nicht angegeben, welcher Benutzer entfernt werden soll. Aus Sicherheitsgründen kann immer nur der eingeloggte Benutzer entfernt werden (
{"success":false,"error_code":2,"msg":"Not logged in or expired session."}
).
Registriert einen neuen Benutzeraccount auf TrashMail.com.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email, user, pass, newsletter
// Content-Type: application/json
{
"email":"[email protected]", // String
"user":"User", // String
"pass":"secret", // String
"newsletter":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Setzt das Passwort zu einem bestehenden Benutzeraccount zurück, falls dieses vergessen wurde.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: email
// Content-Type: application/json
{
"email":"[email protected]" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Dieser Endpunkt darf nicht mit der "Passwort ändern"-Funktion verwechselt werden! Dieser Endpunkt löst eine E-Mail mit Anweisungen zum Passwort-Reset aus.
Ändert das Passwort zu einem bestehenden Benutzeraccount.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: pass-cfrm
// Content-Type: application/x-www-form-urlencoded
"pass-cfrm:apfel112" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Das neue Passwort wird serverseitig als einfacher POST-Parameter erwartet. Aus diesem Grund muss hier
application/x-www-form-urlencoded
statt JSON verwendet werden.
Aktiviert oder deaktiviert das Zusenden von Newslettern auf die im Account hinterlegte echte E-Mail Adresse.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: newsletter
// Content-Type: application/json
{
"newsletter":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Setzt die Frequenz (z.B. wöchentlich), in der Statusnachrichten an die echte E-Mail Adresse verschickt werden sollen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
"data: 7" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"msg":"Status changed." // String
}
Hinweise:
- Die Frequenz wird serverseitig als einfacher GET/POST-Parameter erwartet. Aus diesem Grund muss hier
application/x-www-form-urlencoded
statt JSON verwendet werden.
Löst das Versenden der Statusmeldung auf die im Account hinterlegte echte E-Mail Adresse manuell aus.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"msg":"Status sent." // String
}
Hinweise:
- Keine
Gibt alle zum Benutzeraccount gehörigen TrashMails im CSV-Format zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: text/plain;charset=UTF-8
// CSV-Rückgabe:
// Created at;Enabled;Disposable address;Destination;Description;Remaining forwards;Expire (days);Website;Whitelist;Reply-Masquerading;Notify;Last Received
// Aug 10, 2020;1;[email protected];[email protected];"";2;6;"";0;1;1;
// Aug 10, 2020;1;[email protected];trashmail_1@ example.email;"";2;6;"";0;1;1;
// Aug 10, 2020;1;[email protected];trashmail_1@ example.email;"";2;6;"";0;1;1;
// Aug 10, 2020;1;[email protected];trashmail_1@ example.email;"";2;6;"";0;1;1;
Hinweise:
- Keine
Aktiviert bzw. deaktiviert das Senden einer Bestätigungsmail, wenn eine TrashMail erstellt wurde.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: key, value
// Content-Type: application/x-www-form-urlencoded
"key:notify-on-create-dea" // Key-Value x-www-form-urlencoded
"value:true" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Gibt alle relevanten Benutzereinstellungen zurück. Dieser Endpunkt kann für das Anzeigen von Einstellungen im User Interface verwendet werden.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":{
"status_repetition":7, // Integer
"notify_on_create_dea":true, // Boolean
"is_trashmail_plus_user":true, // Boolean
"trashmail_plus_expires_at":"Thu 10. Jun 10:40:55 CEST 2021", // String
"receive_newsletter":true, // Boolean
"rewrite_from": true, // Boolean
"rewrite_to": true, // Boolean
"log_emails": true, // Boolean
"sim_ml": true, // Boolean
"subject_prefix":"[TrashMail]" // String
}
}
Hinweise:
- Wenn TrashMail Plus nicht aktiv ist (
is_trashmail_plus_user
= false), dann wird ein leerer String fürtrashmail_plus_expires_at
zurückgegeben. sim_ml
ist die Abkürzung für "simulating mailing list" und repräsentiert die Option für "Add mailing list unsubscribe option".
Gibt alle TrashMails des Benutzeraccounts zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: -
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"total":2, // Integer
"enabled":1, // Integer
"disabled":1, // Integer
"fwd_errors":0, // Integer
"fwd":1, // Integer
"rejected":0, // Integer
"data":[
{
"id":13549167, // Integer
"uid":39730391, // Integer
"ctime":1597054890, // Integer
"ctime_text":"Aug 10, 2020", // String
"last_received":0, // Integer
"last_received_text":"", // String
"from_name":"", // String
"disposable_name":"celia.rossler", // String
"disposable_domain":"0box.eu", // String
"destination":"[email protected]", // String
"enabled":true, // Boolean
"forwards":2, // Integer
"expire":6, // Integer
"website":"", // String
"cs":0, // Integer
"masq":true, // Boolean
"notify":true, // Boolean
"desc":"", // String
"blacklist_count":0, // Integer
"whitelist_count":0, // Integer
"queue_count":0, // Integer
"logging_count":0, // Integer
"fwd_errors":0, // Integer
"stats_fwd":0, // Integer
"stats_rejected":0 // Integer
}
]
}
Hinweise:
- Keine
Gibt alle TrashMails zu einem bestimmten Suchkriterium des Benutzeraccounts zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: search
// Content-Type: application/x-www-form-urlencoded
"search:test" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"total":2, // Integer
"enabled":1, // Integer
"disabled":1, // Integer
"fwd_errors":0, // Integer
"fwd":1, // Integer
"rejected":0, // Integer
"data":[
{
"id":13549167, // Integer
"uid":39730391, // Integer
"ctime":1597054890, // Integer
"ctime_text":"Aug 10, 2020", // String
"last_received":0, // Integer
"last_received_text":"", // String
"from_name":"", // String
"disposable_name":"test.rossler", // String
"disposable_domain":"0box.eu", // String
"destination":"[email protected]", // String
"enabled":true, // Boolean
"forwards":2, // Integer
"expire":6, // Integer
"website":"", // String
"cs":0, // Integer
"masq":true, // Boolean
"notify":true, // Boolean
"desc":"", // String
"blacklist_count":0, // Integer
"whitelist_count":0, // Integer
"queue_count":0, // Integer
"logging_count":0, // Integer
"fwd_errors":0, // Integer
"stats_fwd":0, // Integer
"stats_rejected":0 // Integer
}
]
}
Hinweise:
- Keine
Aktiviert oder deaktiviert das Umschreiben des "From"-Headers in weitergeleiteten E-Mails.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: flag
// Content-Type: application/json
{
"flag":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Aktiviert oder deaktiviert das Umschreiben des "To"-Headers in weitergeleiteten E-Mails.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: flag
// Content-Type: application/json
{
"flag":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Aktiviert oder deaktiviert das Loggen des E-Mail Inhalts beim Protokoll.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: flag
// Content-Type: application/json
{
"flag":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Hierüber kann ein Präfix im Betreff jeder weitergeleiteten E-Mail gesetzt werden.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: prefix
// Content-Type: application/json
{
"prefix":"[TrashMail]" // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Aktiviert oder deaktiviert die Mailing-List-Deabonnieren-Funktion.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: flag
// Content-Type: application/json
{
"flag":true // Boolean
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
sim_ml
ist die Abkürzung für "simulating mailing list" und repräsentiert die Option für "Add mailing list unsubscribe option".
Entfernt TrashMails des Benutzeraccounts.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/json
{
"data": "13549167" // String
}
// Mehrere TrashMails
{
"data": ["13549167", "13549165"] // String...
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Das Löschen erfolgt nicht über den Namen der TrashMail, sondern über die ID, die z.B. bei
read_dea
zurückkommt.
!!! TrashMail-Plus Feature !!!
Versendet eine E-Mail über die angegebene TrashMail.
Update 10.09.20:
Im HTTP-Request wird eine weitere JSON-Eigenschaft authenticate_key
eingeführt. Sie enthält einen String mit einem Authentifizierungscode für die iOS-App, damit diese ohne Captcha-Code E-Mails versenden kann.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: from, to, cc, bcc, subject, body, send-copy
// Content-Type: application/json
{
"from":"[email protected]", // String
"to":"[email protected]", // String
"cc":"", // String
"bcc":"", // String
"subject":"Testnachricht", // String
"body":"<b>Hallo</b> zusammen!", // String
"send-copy":true, // Boolean
"authenticate_key":"fepqivnbk..." // String
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
!!! TrashMail-Plus Feature (Weiterleitungen > 10 und Ablauf > 1 Monat) !!!
Erstellt eine neue TrashMail mit den angegebenen Parametern.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: destination, from_name, disposable_name, disposable_domain, desc, website, enabled, forwards, expire, cs, notify, masq, catchAll, preferences
// Content-Type: application/json
// Klassisch
{
"data":{
"destination":"[email protected]", // String
"from_name":"Max Mustermann", // String
"disposable_name":"api_8", // String
"disposable_domain":"trashmail.com", // String
"desc":"Automatisch via Postman erstellt.", // String
"website":"postman.com", // String
"enabled":true, // Boolean
"forwards":10, // -1 entspricht unendlich! // Integer
"expire":12, // Integer
"cs":0, // Whitelist (0 Aus - 3 An, mit einmaligem Bestätigungscode) // Integer
"notify":true, // Ablaufmeldung // Boolean
"masq":true, // Antwort-Maskierung // Boolean
"catchAll":false, // Auto-Empfang-Email // Boolean
"preferences": { // Array
"DefaultCS": 0, // Integer
"DefaultDomain": "trashmail.com", // String
"DefaultFwds": 100, // Integer
"DefaultLifeSpan": 7, // Integer
"DefaultMasq": 1, // Integer
"DefaultNotify": 1, // Integer
"DefaultRealEmailAddress": "[email protected]", // String
"DefaultSortDir": "DESC", // String
"DefaultSortField": "ctime_text", // String
"notify-on-create-dea": true // Boolean
}
}
}
// Auto-Empfang
{
"data":{
"destination":"[email protected]", // String
"from_name":"Max Mustermann", // String
"disposable_name":"*.api_9", // String
"disposable_domain":"trashmail.com", // String
"desc":"Automatisch via Postman erstellt.", // String
"website":"postman.com", // String
"enabled":true, // Boolean
"forwards":10, // Integer
"expire":12, // Integer
"cs":0, // Integer
"notify":true, // Boolean
"masq":true, // Boolean
"catchAll":true, // Boolean
"preferences": { // Array
"DefaultCS": 0, // Integer
"DefaultDomain": "trashmail.com", // String
"DefaultFwds": 100, // Integer
"DefaultLifeSpan": 7, // Integer
"DefaultMasq": 1, // Integer
"DefaultNotify": 1, // Integer
"DefaultRealEmailAddress": "[email protected]", // String
"DefaultSortDir": "DESC", // String
"DefaultSortField": "ctime_text", // String
"notify-on-create-dea": true // Boolean
}
}
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"message":"Created disposable address", // String
"data":[
{
"id":13549797, // Integer
"uid":12345, // Integer
"destination":"[email protected]", // String
"cs":0, // Integer
"disposable_name":"api_8", // String
"disposable_domain":"trashmail.com", // String
"expire":12, // Integer
"forwards":10, // Integer
"masq":true, // Boolean
"notify":true, // Boolean
"website":"postman.com", // String
"preferences": {
// TODO
}
}
]
}
Hinweise:
- Es können in einem Array mehere TrashMails gleichzeitig erstellt werden.
!!! TrashMail-Plus Feature (Weiterleitungen > 10 und Ablauf > 1 Monat) !!!
Ändert die Einstellungen einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id (einzig verpflichtend), enabled, from_name, disposable_name, disposable_domain, destination, desc, forwards, expire, website, cs, masq, notify, preferences
// Content-Type: application/json
// Zum Beispiel
{
"data":{
"id":"13549165", // String
"enabled":false, // Boolean
"preferences": { // Array
"DefaultCS": 0, // Integer
"DefaultDomain": "trashmail.com", // String
"DefaultFwds": 100, // Integer
"DefaultLifeSpan": 7, // Integer
"DefaultMasq": 1, // Integer
"DefaultNotify": 1, // Integer
"DefaultRealEmailAddress": "[email protected]", // String
"DefaultSortDir": "DESC", // String
"DefaultSortField": "ctime_text", // String
"notify-on-create-dea": true // Boolean
}
}
}
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"preferences": { // Array
"DefaultCS": 0, // Integer
"DefaultDomain": "trashmail.com", // String
"DefaultFwds": 100, // Integer
"DefaultLifeSpan": 7, // Integer
"DefaultMasq": 1, // Integer
"DefaultNotify": 1, // Integer
"DefaultRealEmailAddress": "[email protected]", // String
"DefaultSortDir": "DESC", // String
"DefaultSortField": "ctime_text", // String
"notify-on-create-dea": true // Boolean
}
}
Hinweise:
- Es müssen nicht alle Werte gesetzt werden! Es reicht, wenn der Wert, der geändert werden soll, im JSON angegeben wird.
- Es können in einem Array mehere TrashMails gleichzeitig geändert werden.
Liest das Protokoll einer bestimmten TrashMail aus.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id
// Content-Type: application/x-www-form-urlencoded
"id:13549165" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":1336740, // Integer
"ctime":1597144087, // Integer
"ctime_text":"Aug 11, 2020, 1:08:07 PM GMT+2", // String
"from":"[email protected]", // String
"message_id":"<[email protected]>", // String
"fwd":"[email protected]", // String
"subject":"Hallo", // String
"status":"STATUS_BOUNCED", // String
"status_text":"Error" // String
}
]
}
Hinweise:
- Keine
https://trashmail.com/?api=1&lang=en&cmd=read_logging_raw_data
Gibt den E-Mail Inhalt eines bestimmten Protokolleintrags zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id, output
// Content-Type: application/x-www-form-urlencoded
// Accept: application/json
"id:1336740" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success": true, // Boolean
"error_code": 0, // Integer
"data": "From [email protected]..." // String
}
Hinweise:
- Der Inhaltstyp wird durch den HTTP-Header "Accept" ermittelt. Aktuell verfügbar sind
application/json
undtext/plain
.
https://trashmail.com/?api=1&lang=en&cmd=read_logging_events
Gibt die Ereignisse eines bestimmten Protokolleintrags zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id
// Content-Type: application/x-www-form-urlencoded
"id:1353059" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":3943009, // Integer
"ctime":1597223356, // Integer
"ctime_text":"Aug 12, 2020, 11:09:16 AM GMT+2", // String
"event":"NOT_ON_WHITELIST_HOLD_EMAIL", // String
"event_data": "", // String
"event_text":"Not on whitelist, hold email in queue.", // String
"envelope_sender":"[email protected]", // String
"to":"[email protected]", // String
"relay":"mail.aionda.com[2a01:4f8:c0c:a2d2::1]:25", // String
"sender":"a.mxout.trashmail.com" // String
}
]
}
Hinweise:
- Keine
Löscht einen bestimmten Eintrag aus der Protokollliste.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: idList
// Content-Type: application/x-www-form-urlencoded
"idList:[1337278]" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Es können mehrere IDs angegeben werden, diese werden durch Komma getrennt
[1,2,3]
.
https://trashmail.com/?api=1&lang=en&cmd=send_logging_emails
Sendet die E-Mail aus dem Protokoll erneut an die angegebene E-Mail Adresse.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: idList, fwd
// Content-Type: application/x-www-form-urlencoded
"idList:[1337275]" // Key-Value x-www-form-urlencoded
"fwd:[email protected]" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Es können mehrere IDs angegeben werden, diese werden durch Komma getrennt
[1,2,3]
. - Die fwd-Mail-Adresse muss eine im Account hinterlegte echte E-Mail Adresse sein.
Gibt die individuellen Benachrichtigungen (z.B. wenn Bestätigungscode für Zustellung notwendig ist) für eine bestimmte TrashMail zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
'data:["39730821","wl-confirm"]' // Key-Value x-www-form-urlencoded
// wl-confirm, confirm-every, confirm-off
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":{
"from_name":"TrashMail.com", // String
"from_email":"[email protected]", // String
"subject":"$REPLY", // String
"body":"Hello,\n\nthis email address $USER@$DOMAIN requires manual confirmation.\nPlease confirm your sent email by going on the following URL address:\n$CONFIRMATION_URL\n\nFor more information: Please visit https:\/\/trashmail.com\/\n\n-- Sent message follows --\n$EMAIL\n-- End of sent message --\n\n-- \nThe TrashMail robot.\nhttps:\/\/trashmail.com\/\n" // String
}
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Speichert eine andere Version der individuellen Benachrichtigungen (z.B. wenn Bestätigungscode für Zustellung notwendig ist) für eine bestimmte TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: param, name, from, subject, body
// Content-Type: application/x-www-form-urlencoded
'param:["39730821","wl-confirm"]' // Key-Value x-www-form-urlencoded
'name:Testroboter' // Key-Value x-www-form-urlencoded
'from:[email protected]' // Key-Value x-www-form-urlencoded
'subject:Test' // Key-Value x-www-form-urlencoded
'body:Hallo!' // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Gibt alle Einträge der Whitelist einer bestimmten TrashMail zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: user_id
// Content-Type: application/x-www-form-urlencoded
"user_id:39730389" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":45617, // Integer
"email":"[email protected]", // String
"ctime":1597155087, // Integer
"ctime_text":"8\/11\/20, 4:11 PM" // String
}
]
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Gibt die Einträge der Whitelist einer bestimmten TrashMail zurück, die das Suchkriterium erfüllen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: user_id, search
// Content-Type: application/x-www-form-urlencoded
"user_id:39730389" // Key-Value x-www-form-urlencoded
"search:test" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":45619, // Integer
"email":"[email protected]", // String
"ctime":1597155486, // Integer
"ctime_text":"8\/11\/20, 4:18 PM" // String
}
]
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Fügt eine E-Mail Adresse der Whitelist einer bestimmten TrashMail hinzu.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
'data:["39730389","[email protected]"]' // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Entfernt eine E-Mail Adresse aus der Whitelist einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
"data:45618" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Die Data-ID ist die
id
, die beiread_whitelist
zurückgegeben wird.
Fügt eine E-Mail Adresse der Blacklist einer bestimmten TrashMail hinzu.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id, description, mail_from, subject, body
// Content-Type: application/x-www-form-urlencoded
"id:13544576" // Key-Value x-www-form-urlencoded
"description:Testregel" // Key-Value x-www-form-urlencoded
"mail_from:[email protected]" // Key-Value x-www-form-urlencoded
"subject:" // Key-Value x-www-form-urlencoded
"body:" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
Entfernt eine E-Mail Adresse aus der Blacklist einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id
// Content-Type: application/x-www-form-urlencoded
"id:297" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Die
id
wird beiread_blacklist
zurückgegeben.
Gibt alle Einträge der Blacklist einer bestimmten TrashMail zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id
// Content-Type: application/x-www-form-urlencoded
"id:13544576" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":299, // Integer
"description":"TestA", // String
"mail_from":"[email protected]", // String
"subject":"", // String
"body":"", // String
"rejected":0, // Integer
"last_rejection_time_text":"-", // String
"last_rejection_body":"", // String
"ctime_text":"8\/11\/20", // String
"ctime": 123456 // Integer
}
]
}
Hinweise:
- Keine
Gibt die Einträge der Blacklist einer bestimmten TrashMail zurück, die das Suchkriterium erfüllen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id, search
// Content-Type: application/x-www-form-urlencoded
"id:13544576" // Key-Value x-www-form-urlencoded
"search:test" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":299, // Integer
"description":"TestA", // String
"mail_from":"[email protected]", // String
"subject":"", // String
"body":"", // String
"rejected":0, // Integer
"last_rejection_time_text":"-", // String
"last_rejection_body":"", // String
"ctime_text":"8\/11\/20", // String
"ctime": 123456 // Integer
}
]
}
Hinweise:
- Keine
Bearbeitet einen Eintrag in der Blacklist einer TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: id (einzig verpflichtend), description, mail_from, subject, body
// Content-Type: application/x-www-form-urlencoded
"id:299" // Key-Value x-www-form-urlencoded
"description:Das ist eine neue Beschreibung!" // Key-Value x-www-form-urlencoded
"subject:Hallo!" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Es müssen nicht immer alle Werte übergeben werden. Es reicht aus, wenn der zu ändernde Wert (z.B.
description
) übergeben wird. Zwingend angegeben werden muss aber dieid
zur serverseitigen Identifizierung.
Gibt alle Einträge der Warteschlange einer bestimmten TrashMail zurück.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: user_id
// Content-Type: application/x-www-form-urlencoded
"user_id:39705691" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":17797197, // Integer
"ctime":1597219948, // Integer
"ctime_text":"8\/12\/20, 10:12 AM", // String
"sender_addr":"[email protected]", // String
"subject":"Test" // String
}
]
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Gibt die Einträge der Warteschlange einer bestimmten TrashMail zurück, die das Suchkriterium erfüllen.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: user_id, search
// Content-Type: application/x-www-form-urlencoded
"user_id:39705691" // Key-Value x-www-form-urlencoded
"search:Zweiter" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0, // Integer
"data":[
{
"id":17797197, // Integer
"ctime":1597219948, // Integer
"ctime_text":"8\/12\/20, 10:12 AM", // String
"sender_addr":"[email protected]", // String
"subject":"Zweiter Test" // String
}
]
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Löscht eine bestimmte E-Mail aus der Warteschlange einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
"data:17797197" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Keine
https://trashmail.com/?api=1&lang=en&cmd=queue_delete_all_msg
Löscht alle E-Mails aus der Warteschlange einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
"data:39705691" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Die im Request angegebene ID ist nicht die "ID" der TrashMail, sondern die "UID" der TrashMail! Enthalten in der Rückgabe der DEAs:
{"id":"13549165","uid":"39730389", ...
.
Akzeptiert eine E-Mail aus der Warteschlange einer bestimmten TrashMail.
// Eingabe
// HTTP-Methode: POST
// Erwartete Eigenschaften: data
// Content-Type: application/x-www-form-urlencoded
"data:17797209" // Key-Value x-www-form-urlencoded
// Ausgabe
// Content-Type: application/json
{
"success":true, // Boolean
"error_code":0 // Integer
}
Hinweise:
- Es werden alle wartenden E-Mails des gleichen Absenders durchgelassen.