Privatsphäre & Alltag

Anhänge an Wegwerf-Adressen: Größe & Sicherheit

Eine Wegwerf-Adresse nimmt nicht nur Text entgegen, sondern auch Dateien — bis zu 5 MB für die gesamte Nachricht, was weniger Datei ist, als es klingt. Hier erfahren Sie, was ankommt, was schon an der Tür abgewiesen wird, wie Sie eine Datei wieder herausbekommen, und die eine Regel, die zählt, bevor Sie irgendetwas öffnen.

  • Einsteiger
  • 11 Min. Lesezeit
Eine große Büroklammer hält ein blaues Blatt Papier, das deutlich zu groß für das offene Postfach daneben ist

Was als Anhang ankommt

Eine Nachricht ist ein Baum aus Teilen, und nur einige davon sind Dateien. Die Regel hier ist bewusst großzügig, denn die Alternative — sich darauf zu verlassen, dass Absender alles korrekt kennzeichnen — würde stillschweigend Anhänge verlieren, die ein Mail-Client angezeigt hätte:

Alles, was als solcher markiert ist
Ein Teil, dessen Content-Disposition attachment lautet. Der Normalfall, und der einzige, auf den sich jeder Mail-Client einigt.
Alles mit einem Dateinamen
Ein Teil mit einem filename, unabhängig davon, wie er sonst gekennzeichnet ist. Absender kennzeichnen ständig falsch, und eine Datei mit einem Namen ist eine Datei.
Benannte Teile, die kein Text sind
Ein Teil mit einem name, dessen Typ nicht text/… ist. Das fängt zum Beispiel das Logo in einer HTML-Signatur ab — eine Nachricht kann also mit Anhängen ankommen, die Sie nicht erwartet haben und die der Absender nie als Anhänge betrachtet hat.

Die Zahl, die Sie sehen, liegt deshalb oft höher als die, die der Absender im Kopf hatte. Zwanzig ist das Maximum, das eine einzelne Nachricht behält; trägt sie mehr Teile mit Dateinamen als das, bleiben die ersten zwanzig erhalten und der Rest fällt weg — gut zu wissen, bevor Sie etwas darauf aufbauen.

Ein Dateiname aus der Übertragung wird nie als Pfad verwendet. Die Datei wird unter einem generierten Namen gespeichert, und der ursprüngliche Name wird als Datenfeld mitgeführt — ein Absender kann also nicht bestimmen, wo seine Datei landet, indem er sie mit einem Schrägstrich im Namen versieht.

Die Größengrenze, und wo sie wirklich liegt

Die veröffentlichte Zahl ist 5 MB, und es lohnt sich, genau zu sein, was damit gemessen wird: die gesamte kodierte Nachricht. Nicht der Anhang, nicht die Summe der Anhänge — alles, was der sendende Server übergibt, nachdem die MIME-Kodierung es bereits größer gemacht hat.

Grenze: 5 MBIhre Datei nach base64Header, Text, HTML
Die Grenze misst den ganzen Balken, nicht nur den blauen Teil davon. Eine Datei kommt etwa ein Drittel größer an, als sie losgeschickt wurde, und die Header sowie der Text- und HTML-Teil nehmen sich vom Rest ihren Anteil.

Base64 — die Art, wie eine Binärdatei ein für Text gebautes Protokoll durchquert — macht aus je drei Byte vier. Zählt man die dafür nötigen Zeilenumbrüche hinzu, kommt eine Datei etwa ein Drittel größer an, als sie auf der Festplatte war, mit diesen ein wenig mehr. Rechnet man von 5 MB zurück, liegt die tatsächliche Grenze bei einer Datei von rund 3,5 MB — und niedriger noch bei einer Nachricht mit Signatur und HTML-Teil.

Was gemessen wird
Header, der Textteil, der HTML-Teil und jeder Anhang, jeweils nach der Kodierung.
Anhänge pro Nachricht
Zwanzig. In der Praxis wird zuerst die Größengrenze erreicht.
Textteile
Werden nach dem Dekodieren bis zu je 2 MiB behalten. Ein längerer Text wird gekürzt gespeichert — das kommt bei gewöhnlicher Mail nicht annähernd vor, bei einem generierten Bericht aber durchaus.

Was passiert, wenn eine Datei zu groß ist

Sie wird schon an der Tür abgewiesen, während der SMTP-Verbindung, bevor irgendetwas gespeichert wird. Ein sendender Server, der die Größe vorab ankündigt, wird sofort abgewiesen, und der Austausch endet etwa so:

was der sendende Server sieht
>>> MAIL FROM:<news@example.com> SIZE=7602176
<<< 552 5.3.4 Message size exceeds fixed limit

Das ist wichtiger, als es aussieht. Ein Dienst, der die Nachricht annimmt und sie danach verwirft, würde den Absender glauben lassen, sie sei zugestellt worden, während Sie auf etwas warten, das nie erscheinen wird. Eine Abweisung zum Zeitpunkt der SMTP-Verbindung ist ein echter Fehlschlag, der einer echten Person gemeldet wird: Der Absender erhält einen Bounce mit dem Grund darin.

Ein Absender, der die Größe nicht vorab ankündigt, bekommt stattdessen dieselbe Antwort am Ende der Nachricht, sobald der Mailserver die Bytes selbst gezählt hat. So oder so landet nichts im Postfach, und nichts kommt gekürzt an.

Eine Datei aus dem Postfach holen

Im Browser ist es dort, wo Sie es erwarten würden. Öffnen Sie die Nachricht, und die Anhänge werden darunter aufgelistet, jeweils mit dem Namen, den der Absender vergeben hat, und der Größe, die tatsächlich angekommen ist.

  1. Öffnen Sie die Nachricht. Die Liste aktualisiert sich von selbst, sodass eine Datei, die eintrifft, während Sie das Postfach betrachten, ohne Neuladen erscheint.
  2. Lesen Sie Name und Größe, bevor Sie klicken. Beides sind Fakten über das, was angekommen ist, und das Letzte, was Sie sehen, bevor die Datei auf Ihrem Rechner liegt.
  3. Klicken Sie darauf. Die Datei wird heruntergeladen. Sie öffnet sich nie im Browser, was auch immer sie vorgibt zu sein — der nächste Abschnitt erklärt, warum das ein Feature ist und kein Mangel.

Externe Bilder im Nachrichtentext werden blockiert, bis Sie sie anfordern, und das ist etwas anderes als ein Anhang: Ein blockiertes Bild wird in dem Moment, in dem Sie es zulassen, vom Server des Absenders geladen, während ein Anhang mit der Nachricht kam und von niemandem geladen werden muss.

Herunterladen über die API

Beim Auslesen einer Nachricht kommen ihre Anhänge als Liste zurück, jeder davon bereits mit der fertigen URL:

Ausschnitt einer Nachrichten-Antwort
"attachments": [
  {
    "id":       "01JR8W2K4QATT1",
    "filename": "invoice.pdf",
    "mime":     "application/pdf",
    "size":     184320,
    "url":      "/api/v1/attachment/01JR8W2K4QATT1?mailbox=k7fq2m%40grabmail.io"
  }
]

Diese URL ist ein einfaches GET mit dem Postfach als Query-Parameter, und auf den öffentlichen Domains braucht es sonst nichts — keinen Schlüssel, keine Sitzung, kein Konto:

unter dem eigenen Namen herunterladen
curl -OJ "https://grabmail.io/api/v1/attachment/01JR8W2K4QATT1?mailbox=k7fq2m%40grabmail.io"

-OJ weist curl an, die Datei unter dem vom Server gesendeten Namen zu speichern statt unter der ID. Der Endpunkt antwortet mit einer von drei Möglichkeiten: der Datei, einem 404, wenn es diesen Anhang in dem Postfach nicht gibt oder er abgelaufen ist, oder einem 429, wenn Sie öfter als einmal pro Sekunde anfragen.

Eine Anhang-ID gilt nur innerhalb ihres Postfachs, eine ID von einer Adresse ist an einer anderen also ein 404. Es gibt keinen Endpunkt, der Anhänge für sich allein auflistet — sie kommen mit ihrer Nachricht an und werden aus dieser ausgelesen. Die API-Referenz zeigt die vollständige Struktur einer Nachrichten-Antwort.

Warum jede Datei als Binärdatei heruntergeladen wird

Was auch immer der Absender über seine Datei behauptet hat, sie kommt als application/octet-stream zurück und wird heruntergeladen statt geöffnet. Das ist keine Nachlässigkeit bei den Inhaltstypen — es ist die einzig sichere Antwort, wenn die Datei von einem Fremden stammt.

Der Typ des Absenders wird nie zurückgegeben
Wer seine Datei als text/html kennzeichnet und sie auf unserer Origin gerendert bekommt, lässt seine eigene Seite als uns laufen, in Ihrer Sitzung, mit allem, was das ermöglicht. Deshalb wird die Kennzeichnung verworfen, und der Aufrufer entscheidet anhand der Metadaten daneben, was die Datei ist.
Immer ein Download, nie eine Ansicht
Content-Disposition: attachment steht auf jeder Antwort, sodass nichts an Ort und Stelle gerendert wird, wie auch immer es gekennzeichnet ist.
Kein Erraten, und nichts darf ausgeführt werden
X-Content-Type-Options: nosniff hindert den Browser daran, selbst einen Typ zu erraten, und eine Content-Security-Policy von default-src 'none'; sandbox sorgt dafür, dass selbst wenn doch etwas gerendert würde, nichts geladen und nichts ausgeführt werden könnte.
Der Dateiname kann nicht zu einem Header werden
Der Name wird kodiert statt direkt in die Antwort eingefügt, sodass eine Datei mit einem Zeilenumbruch im Namen keinen eigenen Header einschleusen kann.

Die Datei selbst bleibt unangetastet — Byte für Byte das, was der Absender geschickt hat. Bewusst langweilig ist nur das, was drumherum passiert. Sie wird zudem außerhalb des Webroots gespeichert, sodass das Erraten eines Pfads kein Einstieg ist: Das Postfach muss erst aufgelöst und autorisiert werden, bevor die Datei überhaupt gelesen wird.

Hier scannt nichts die Datei

Es gibt keinen Virenscanner, keine Sandbox-Detonation und keine Reputationsprüfung. Das ist eine erklärte Grenze und kein Versehen, und sie bestimmt, was Sie mit dem, was ankommt, gefahrlos tun können:

  • Jeder kann an eine öffentliche Adresse senden. Er muss Sie nicht kennen — er muss die Adresse kennen, und kurze werden erraten. Eine Datei in einem öffentlichen Postfach hat standardmäßig einen unbekannten Urheber.
  • Ausführbare Dateien und Skripte sind hier genauso gefährlich wie überall sonst. Nichts wird nach Dateiendung gefiltert, und nichts schaut in ein Archiv hinein, um zu sehen, was darin steckt.
  • Dokumente, die etwas ausführen können, sind der häufigste Fall. Office-Dateien mit Makros und PDFs mit eingebetteten Aktionen sind der Weg, auf dem das meiste davon tatsächlich passiert — nicht offensichtliche ausführbare Dateien.
  • Der Name sagt nichts aus. Eine Datei namens invoice.pdf ist das, was ihre Bytes hergeben, und die Endung hat sich der Absender ausgesucht.

Dateien verschwinden, wenn die Nachricht verschwindet

Ein Anhang hat kein eigenes Leben. Er gehört zu seiner Nachricht und verschwindet, wenn diese verschwindet:

Nach 5 Tagen
Wird mit der Nachricht gelöscht, gelesen oder nicht, nach einer Uhr, die mit der Ankunft zu laufen begann. Es gibt kein Archiv und keinen Export.
Wenn Sie die Nachricht löschen
Sofort, und die URL wird zu einem 404. Das gilt gleichermaßen, ob Sie aus dem Postfach oder über die API löschen.
Es gibt kein Zurück
Kein Wiederherstellen, keine Gnadenfrist und kein Support-Postfach zum Nachfragen. Alles, was Sie morgen brauchen werden, muss heute heruntergeladen werden.

Wenn E-Mail das falsche Werkzeug ist

Manches, was Menschen hier mit Anhängen versuchen, ist keine Grenze, die man umgehen sollte — es ist schlicht das falsche Werkzeug für die Aufgabe:

  • Eine Datei über der Grenze. Nichts hebt sie an. Schicken Sie stattdessen einen Link.
  • Etwas, das Sie nächsten Monat brauchen. 5 Tage sind eine feste, von einem Job durchgesetzte Grenze, keine Einstellung. Holen Sie es sich jetzt ab, oder nutzen Sie ein echtes Postfach.
  • Alles, was Sie störte, würde es ein Fremder lesen. Auf einer öffentlichen Domain ist die Adresse das einzige Schloss an der Tür, und es ist ein kurzes.

Eine eigene Domain ändert den dritten dieser Punkte und keinen der ersten beiden: Grenze und Aufbewahrungsdauer bleiben exakt gleich, aber die Adresse steht auf einem Namen, der nirgendwo auf dieser Website auftaucht, sodass niemand Dateien dorthin errät. Ein einziger MX-Eintrag genügt:

MX-Eintrag für Ihre Domain10 smtp.grabmail.io

Die vollständige Anleitung finden Sie hier — der Eintrag, was seine Veröffentlichung beweist, und die ehrlichen Grenzen eines Postfachs ohne Passwort.

Fragen

Wie groß darf ein Anhang maximal sein?

5 MB für die gesamte kodierte Nachricht — das ist die Zahl, die der Mailserver tatsächlich durchsetzt. Weil base64 eine Binärdatei um etwa ein Drittel aufbläht, ergibt das eine Datei von rund 3,5 MB, weniger noch bei einer Nachricht mit Text und Signatur.

Welche Dateitypen kann ich empfangen?

Alle. Nichts wird nach Typ, Endung oder Inhalt gefiltert oder abgelehnt, und nichts wird entpackt, um hineinzuschauen. Das Einzige, weswegen eine Nachricht abgewiesen wird, ist ihre Größe.

Scannen Sie Anhänge auf Viren?

Nein. Es gibt keinen Virenscanner und keine Art von Scan. Die Datei, die Sie herunterladen, ist Byte für Byte das, was der Absender geschickt hat, und ob Sie sie öffnen, müssen Sie selbst beurteilen.

Warum wird jeder Anhang als application/octet-stream heruntergeladen?

Weil das Zurückgeben des von einem Fremden angegebenen Inhaltstyps genau der Weg ist, wie eine Datei zu einer auf unserer Origin laufenden Seite wird, in Ihrer Sitzung. Der tatsächliche Typ steht in den Metadaten neben der Datei; der Download selbst ist bewusst anonym und wird nie im Browser gerendert.

Wie viele Anhänge kann eine Nachricht tragen?

Zwanzig. Eine Nachricht mit mehr Teilen als das behält die ersten zwanzig. In der Praxis wird die Größengrenze lange vor der Anzahl erreicht.

Kann ich einen Anhang über die API herunterladen?

Ja. Jeder Anhang in einer Nachrichten-Antwort trägt eine fertige URL, und sie abzurufen ist ein einfaches GET mit dem Postfach als Parameter. Auf den öffentlichen Domains ist kein Schlüssel nötig.

Wie lange bleiben Anhänge erhalten?

So lange wie ihre Nachricht: 5 Tage ab Ankunft, dann werden sie mit ihr gelöscht. Löschen Sie die Nachricht selbst, ist die Datei sofort entfernt.

Mein Anhang ist nie angekommen — warum?

Entweder war die Nachricht über 5 MB groß und wurde schon an der Tür abgewiesen — dann hat der Absender einen Bounce mit der Erklärung —, oder der Teil trug weder Dateinamen noch Anhang-Kennzeichnung und wurde als Teil des Textkörpers gelesen. Die Anleitung zu Mail, die nicht ankommt deckt alles Weitere ab.

Kann ich eine Datei von einer Wegwerf-Adresse aus senden?

Nein. Dieser Dienst empfängt nur und hat überhaupt keinen Endpunkt zum Versenden — genau das verhindert, dass ein unauthentifiziertes Postfach zu einem bequemen Weg wird, Dateien an Fremde zu schicken.

Probieren Sie es aus, solange es frisch ist

Eine Adresse braucht einen Klick, kein Konto und keine Karte. Alles in dieser Anleitung funktioniert damit sofort.

Willkommen zurück

Ihre Postfächer und Ihre Domains an einem Ort.