2 Stimmen

Wie kann ich E-Mails aus einer Outlook .pst-Datei in eine MySQL-Datenbank übertragen?

Wie kann ich am einfachsten eine Outlook-PST-Datei mit allen E-Mails in eine MySQL-Datenbank exportieren?

8voto

Robby Slaughter Punkte 1400

Igitt. Am einfachsten wäre es wahrscheinlich, wenn Sie Ihre PST-Datei in Outlook öffnen und

File->Import and Export, Export to a File, Comma Seperated Values (Windows)

Dies schafft eine CSV-Datei die Sie dann in MySQL über mysqlimport .

Wenn Sie mehr Informationen als nur den Inhalt der Nachrichten benötigen, müssen Sie sich auf verschiedenen exotischen Wegen direkt in den Speicher einwählen.

1voto

Seba Illingworth Punkte 5304

Könnte Powershell dafür geeignet sein? Z.B. E-Mails in einem Ordner aufzählen, Sql-Insert für jeden erstellen, Insert an Batch-Sql-Skript anhängen:

$olApp = New-Object -com Outlook.Application
$namespace = $olApp.GetNamespace("MAPI")
$folder = $namespace.GetDefaultFolder(1)
$folder.Items  | %{ 
    "insert into MyTable (MyCol1, MyCol2, etc) values ($_.Subject, $_.body, etc)"
} | out-file "outfile.sql" -Append

0voto

Ali Shafai Punkte 5093

Ich kenne die Antwort nicht, aber wenn Sie einen Blick auf den Google E-Mail-Uploader (Open Source) werfen, übernehmen sie den lesenden Teil...

0voto

Cheeso Punkte 184210

Ich würde einen Automatisierungsclient in C# schreiben, der die Outlook-E-Mails durchläuft und dann jede einzelne in Ihre Datenbank hochlädt. Nichts von dem Zeug ist Raketenwissenschaft. Der Automatisierungsclient erfordert, dass Outlook auf dem Rechner installiert ist und läuft. Mit anderen Worten, bei diesem Ansatz geht es nicht nur um das "Lesen" der PST-Datei; die Automatisierung setzt voraus, dass die Outlook-Anwendung tatsächlich ausgeführt wird und Ihr Code die Anwendung auffordert, die E-Mails einzeln zu öffnen. (Sie müssen dabei nicht die gesamte Benutzeroberfläche anzeigen).

Hier ist eine Frage zu wie man eine PST-Datei durch Automatisierung von Outlook mit C# liest . Danach müssen Sie die MySQL-Aktualisierung und eine gute Fehlerbehandlung hinzufügen. Testen Sie gründlich, bevor Sie die Dateien aus Outlook löschen. Wenn Sie sich dafür entscheiden, die Dateien nicht zu löschen, stellen Sie sicher, dass Sie einen guten Indizierungsansatz haben, um Idempotenz zu gewährleisten.

0voto

TK. Punkte 417

Eine Lösung, über die ich gerade gestolpert bin, ist: libpst

Natürlich ist die Verarbeitung eines der konvertierten Formate in SQL noch etwas mühsam, aber wenn der Import in Outlook und der anschließende Export als CSV keine Option ist, wäre libpst eine gute Alternative.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X