Jump to content

kr0k0f4nt

Members
  • Gesamte Inhalte

    1
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von kr0k0f4nt

  1. Hallo zusammen, erstmal vielen Dank für das zusammentragen dieser Infos! Vorallem auch Funnydee für seine tolle Anleitung. Ich hab allerdings noch eine kleine Ergänzung, da ich natürlich auch an das Problem gestoßen bin, dass das mit den Anlagen Speichern eben nicht wirklich funktioniert, da man meist Anhänge mehrfach mit dem gleichen Namen hat, weil der Betreff der selbe war. Bzw. es kommt noch das Problem dazu dass wenn E-Mails einen Punkt haben, z.B.: "bla bla T-Online.de" oder "Bla bla bla 21.10.2004" dann wird keine Endung .eml drangehängt und man hat ein haufen Dateien die man erst noch manuell mit .eml versehen darf. Um mir ein haufen Arbeit zu ersparen hab ich gegoogelt und ein Programm gefunden, welches kostenpflichtig ist. Emldetach kann für stolze 40 € aus EML Dateien Attachments extrahieren und achtet auch darauf dass nichts überschrieben wird. Allerdings waren mir 40 € zu viel - ebenso meinem Kunden - und ich hab noch etwas C# Sample Code für die .Net Mail Komponente von Rebex gefunden. Siehe hier: Rebex.NET: Extract Attachments Also ich habe ich das ganze erweitertet und angepasst, damit vor allem nicht die bereits existierenden Dateien überschrieben werden bzw. das man auch über einen weiteren Parameter eine Dateiendung hinzufügen kann. Das Programm und der Quellcode sind im Anhang. Benutzt wird das ganze wie folgt. Kopier die 3 Dateien aus dem Archiv in einen Ordner und kopiert dort die Email (.Eml) hin, zb: 2009.eml. Öffnet nun die Email, extrahiert alle Attachments (Duplikate werden mit (x) gekennzeichnet) und fügt .Eml dazu. Dannach müsst ihr einfach nur alle Daiten (exklusive der Programmdateien) per Drag and Drop in Outlook Express "schmeißen". Anschließende Importe in Thunderbird oder Outlook sind dann möglich. Vielleicht hilft es ja dem ein oder anderen auch. Ich konnte somit zumindest meinem Kunden 40 € ersparen und seine 10.000 Emails in 30 mins Importieren (inklusive anpassen des Codes ;D). Gruß Martin aka kr0k0f4nt Hier gehts zum Download: ExtractAttachments.zip Hier habt ihr noch meinem geänderten Source Code, welcher sich auf den Link des original Source Codes von oben bezieht: // If no argument is specified, show syntax if (args.Length < 1) { ShowHelp(); return 1; } // Load the mail message from disk MailMessage mail = new MailMessage(); mail.Load(args[0]); string Extension = ""; if (args.Length <= 2) { Extension = args[1]; } Console.WriteLine("Message contains {0} attachments.", mail.Attachments.Count); // If message has no attachments, just exit if (mail.Attachments.Count == 0) return 0; foreach (Attachment attachment in mail.Attachments) { // Save the file Console.WriteLine("Saving '{0}' ({1}).", attachment.FileName, attachment.MediaType); string FileName = attachment.FileName + Extension; int i = 1; string SaveFileName = FileName; while (File.Exists(SaveFileName)) { SaveFileName = attachment.FileName + " (" + i + ")" + Extension; i++; } attachment.Save(SaveFileName); } return 0; }
×
×
  • Neu erstellen...