Tanpohp

Tag: php

EML-Dateien aus HTML wiederherstellen

by on May.02, 2010, under Tools

Ich Stand vor einiger Zeit vor der Aufgabe, Mails die in HTML-Seiten konvertiert wurden wieder in Mails zu verwandeln um diese z.B. in Outlook zu importieren. An sich enthielten die HTML alles wesentliche: Wer schickte die Mail wann an wen. Trotzdem ist das bei fast 3000 Mails die ich importieren sollte keine Aufgabe die man von Hand erledigen sollte. Also mal schnell ein PHP-Skript geschrieben. Bei nähere Untersuchung fand ich heraus, das die HTML-Dateien noch eine ganze Menge mehr an Informationen enthielten. Im Grunde war alles vorhanden, einschließlich X-Message-Id und X-Reference um Gesprächsverläufe in den Mails zu kennzeichnen. Einzig die Server über welche die Mails verschickt wurden fehlten. Im folgenden Stelle ich dieses Skript nun unter Creative Commons (by-ns) öffentlich. Das Skript ist in der Lage Mails zu erzeugen, die ursprünglich mit  MHonArc v2.4.6 umgewandelt wurden. Für andere Versionen sind ggf. kleine Anpassungen von nöten.

Zur Bedienung:

  1. Zip-Datei in Ordner htdocs (xampp) oder public-html entpacken.
  2. Html-Dateien von MHonArc in das Verzeichnis backup kopieren. Hierbei können beliebige Unterordner mit kopiert/erzeugt werden. Das Skript durchsucht diese rekursiv nach den richtigen Dateien.
  3. Eventuell in der index.php die Skriptlaufzeit erhöhen. Liegt momentan bei 5min was bei 3000 Mails locker ausreichte.
  4. index.php aufrufen und abwarten.
  5. Im Ordner converted liegen jetzt alle Mails als EML-Dateien vor.

ACHTUNG: Ich habe das Skript nur mit Dateien getestet die mit der Version 2.4.6 vom MHonArc erzeugt wurden. Alle anderen Brauchen ggf. eine vorherige Anpassung der HTML-Analyse welche von der Datei HTMLInputReader.php getätigt wird. Bei Fragen einfach schreiben.

Download: HtmlToMail Version 0.6

Comments Off on EML-Dateien aus HTML wiederherstellen :, , , , , more...

Ordner nach bestimmten Dateien durchsuchen

by on Apr.23, 2010, under Snippets

Hier ein kleines Skript welches einen Ordnername übergeben bekommt und diesen rekursiv nach Dateien mit einer gegebenen Endung durchsucht und diese Pfade zurück liefert:

function getFiles ($path, $extension){
   $result = array();
   if(is_dir($path) && $path!="." && $path!=".."){
      $dh = opendir($path);
      if($dh != false){
         while (false !== ($subpath = readdir($dh))) {
            if($subpath== "." || $subpath=="..") continue;

            $files = HTMLInputReader::getFiles($path."/".$subpath, $extension);
            if(is_array($files)){
               $result = array_merge($result, $files);
            }else if($files!= ""){
               array_push($result, $files);
            }
         }
      }
   }else{
      //it's not a directory
      if(ends($path, $extension)){
         return $path;
      }else{
         return "";
      }
   }
   return $result;
}
function ends($file, $extension){
   $parts = explode(".", $file);
   if($parts == false || count($parts)==0) return false;

   return $parts[1] == $extension;
}
Comments Off on Ordner nach bestimmten Dateien durchsuchen :, , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...