Ist es möglich, E-Mails in einer MySQL-Datenbank zu sichern? Angenommen, ich habe ein Konto[email geschützt]und ich möchte alle E-Mails innerhalb der mail.domain.com lokal auf meinem Computer aufzeichnen.
Nach meinen Recherchen im Internet heißt es, dass Mailserver E-Mails als Textdateien speichern. Wenn ich also diese Datei in die Hände bekomme, sie auf meinen lokalen Computer übertrage, kann ich sie verarbeiten und in der Datenbank speichern, richtig?
Meine Frage lautet also: Wie übertrage ich die Datei vom Mailserver auf meinen lokalen Computer? Und wie kann ich die Datei überhaupt identifizieren?
Für jedes Beispiel wäre ich sehr dankbar.
Vielen Dank im Voraus.
Antwort1
Die meisten Mailserver speichern E-Mails entweder in „Mail-Ordnern“ oder „Mail-Verzeichnissen“. „Mail-Ordner“ bedeutet, dass in jedem Ordner/jeder Kategorie alle E-Mails nacheinander gespeichert sind. „Mail-Verzeichnis“ bedeutet, dass jeder Ordner eigentlich ein Verzeichnis ist, in dem jede E-Mail-Nachricht als einzelne Datei in diesem Verzeichnis dargestellt wird.
Sie haben Recht, wenn Sie sagen, dass Sie, wenn Sie diese Mail-Datei erhalten (womit eigentlich Mail-Ordner oder Mail-Verzeichnisse gemeint sind), ein Skript schreiben können, um sie in Ihre Datenbank zu importieren.
Was die Identifizierung der Mail-Verzeichnisse/-Ordner betrifft, so ist dies nicht Ihre Aufgabe, sondern der „Postmaster“ Ihrer Domäne kann Sie beraten, da diese überall sein können. Übliche Orte (auf Unix-Systemen) sind /var/spool/mail und ~mail – aber dies ist willkürlich.
Eine Alternative zum Abrufen des Mail-Ordners/-Verzeichnisses wäre, den Server anzuweisen, ihn Ihnen bereitzustellen. Abhängig von Ihrem Szenario, wenn Sie alle E-Mails in Ihrem Posteingang haben und Ihr Anbieter das „POP3“-Protokoll verwendet, sollten Sie in der Lage sein, einen Mechanismus zu skripten, um jede E-Mail abzurufen und zu verarbeiten. POP3 ist ein recht einfaches Protokoll. Sie können etwas Ähnliches mit IMAP tun – wodurch Sie Zugriff auf alle Dateien erhalten –, was jedoch viel schwieriger zu verwenden ist und möglicherweise ein Framework/eine Bibliothek zur Unterstützung erfordert.
E-Mail-Nachrichten selbst sind ganz einfach -
Sie bestehen aus einem durch zwei Zeilen getrennten Header und dem Textkörper. Sie können den Header analysieren, um Absender, Empfänger, Betreff, Datum usw. der Nachricht zu ermitteln. Der Textkörper kann aus Text bestehen oder in mehrere Abschnitte unterteilt sein, die normalerweise alle Base64-codiert sind (es gibt jedoch Alternativen dazu) – beispielsweise, wenn Sie eine E-Mail mit HTML und Text oder E-Mails oder Anhänge in der E-Mail erhalten.