Karsten: Suche besonderes Email Programm

Hallo,

Ich suche ein EmailProgramm welches die attachments schon nach dem abrufen in den ordner ablegt.

beispiel:

1. ich rufe meine mails im internet ab. jede mail davon hat einen anhang (zb .pdf)

angenommen ich habe 5 mails abgerufen

2. nun würde ich gerne den ordner /abc/ öffnen und alle 5 pdf dateien öffnen können ohne dabei die email selbst zu lesen.

geht das?

Karsten

  1. Hallo,

    ja, mit The-Bat von http://www.ritlabs.com/. Die Funktion ist unter Konto / Filter-Assistent / Aktionen / Dateianlagen extrahieren in Verzeichnis.

    Gruß,
    Christian

  2. ich habe ein pop3 script welches aber nicht die anhänge lesen kann.

    wie kann ich denn anhänge von einer email trennen mittels php script?

    Karsten

    hier das script was ich mir mal irgendwo gezogen habe; wenn man das so erweitern könnte das die email attachments ausgelesen und abgelegt werden, dann wäre es perfekt!

    <?php print "<body style="font-family: Arial; margin-left: 10px; margin-top: 10px" link="#3300FF" vlink="#336600">"; class pop3 {

    var $strStatus;   var $pop3;   var $arrMessages;   var $arrMessage;

    function pop3() {      $this->strStatus = array();      $this->pop3 = 0;      $arrMessages = $arrMessage = '';   }

    # Verbindung öffnen   function open($strServer, $intPort = 110) {      $this->pop3 = fsockopen($strServer, $intPort);      if (!is_resource($this->pop3)) return FALSE;      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # User anmelden   function user($strUser) {      fputs($this->pop3, "USER $strUser\r\n");      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # Passwort übertragen   function pass($strPass) {      fputs($this->pop3, "PASS $strPass\r\n");      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # Nachrichten auslesen   function mess() {      fputs($this->pop3, "LIST\r\n");      $line = fgets($this->pop3, 1024);      if($this->getresult($line)) {         unset($this->arrMessages);         while(substr($line=fgets($this->pop3, 1024),0,1) != '.')         {            $this->arrMessages[] = $line;         }         return TRUE;      }      else {         return FALSE;      }   }

    # Informationen einer Nachricht auslesen   function retr($strMessage) {      list($intMessage) = explode(' ',$strMessage);      fputs($this->pop3, "RETR $intMessage\r\n");      $line = fgets($this->pop3, 1024);      if($this->getresult($line)) {         unset($this->arrMessages);         while(substr($line=fgets($this->pop3, 1024),0,1) != '.')         {            $this->arrMessages[] = $line;         }         return TRUE;      }      else {         return FALSE;      }   }

    # Ausgewählte Nachricht löschen   function dele($intMessage) {      list($intMessage) = explode(' ',$intMessage);      //echo "<br>DELE $intMessage<br>";      fputs($this->pop3, "DELE $intMessage\r\n");      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # Zum Löschen markierte Nachricht wieder herstellen   function reset() {      fputs($this->pop3, "RSET\r\n");      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # Serververbindung trennen   function quit() {      fputs($this->pop3, "QUIT\r\n");      $line = fgets($this->pop3, 1024);      return $this->getresult($line);   }

    # Serverantwort auswerten   function getresult($line) {      $this->strStatus = substr($line, 0, 1024);      if (substr($this->strStatus, 0, 1) != '+') {         return FALSE;      }      else {         return TRUE;      }   }

    # Serverantwort anzeigen   function showresult() {      //echo "<code style="color:red;">$this->strStatus</code>";   }

    } /* end class */

    Seitenbeginn

    $mybox = new pop3; $popserver = 'pop3.web.de';

    Verbindungsdaten

    $address = ''; $username = 'username'; $password = 'passwort';

    Variablen initialisieren

    $error = FALSE; $deleted = FALSE; $self = $PHP_SELF; $content = ""; $noMoreHeaders = 0; $contentIsSet = 0;

    Pulldown-Menü

    echo (" <table cellpadding="5" cellspacing="0" border="0" style="width:100%;">    <tr>     <td> ");

    Verbindung zum POP3-Server aufbauen

    while(TRUE) {

    if (!$mybox->open($popserver)) {       echo "[FEHLER] Verbindung nicht möglich<br>\n";       $mybox->showresult();       $error = TRUE;       break;    }    else {       //echo "erfolgreich<br>\n";       $mybox->showresult();       //echo "<br>\n";    }    //echo 'Benutzername: ';    if (!$mybox->user($username)) {       echo "[FEHLER] Benutzername nicht erkannt!<br>\n";       $mybox->showresult();       $error = TRUE;       break;    }    else {       //echo "<b>$username</b> anmelden...<br>\n";       $mybox->showresult();       //echo "<br>\n";    }    //echo 'Kennwort: ';    if (!$mybox->pass($password)) {       echo "[FEHLER] Kennwort falsch!<br>\n";       $mybox->showresult();       $error = TRUE;       break;    }    else {       //echo "akzeptiert<br>\n";       $mybox->showresult();       //echo "<br>\n";    }    echo 'Deine Mailbox hat: ';    if (!$mybox->mess()) {       echo "[FEHLER] Abruf fehlgeschlagen!<br>\n";       $error = TRUE;       break;    }    else {       echo '<b>'.count($mybox->arrMessages)."</b> Nachrichten<br>\n";       $mybox->showresult();       //echo "<br>\n";    }    break; } /* end while */

    Aktionen auswerten und durchführen

    if($delet == 'ok'){   //$nummer = @$_POST["nummer"];   $mybox->dele($nummer);   //$mybox->showresult(); echo"<br>";   $mybox->quit();   //$mybox->showresult();  echo"<br>";   $deleted = TRUE; // Anzeigen der Mailbox verhindern zwecks Reload }

    echo "<hr size="2">";

    Wenn Kontakt zum Server und Verbindung okay...

    if(!$error and is_array($mybox->arrMessages) and !$deleted) {

    # Auslesen der Mail-Anfrage...    foreach($mybox->arrMessages as $strMessage) { $n_count_arr = explode(' ',$strMessage); $n_count = $n_count_arr[0];

    # Wenn Mail vorhanden...       if ($mybox->retr($strMessage)) {

    foreach($mybox->arrMessages as $strData) {

    $arrType = explode(":",$strData);

    if($arrType[0]=="Content-Type") $contentIsSet = 1;              if(ereg("From:",$strData)) $from = $strData;              if(ereg("Return-Path:",$strData)) {                 $reply = str_replace("<","",$strData);                 $reply = str_replace(">","",$reply);              }              if(ereg("Reply-To:",$strData)) $reply = $strData;              if(ereg("Date:",$strData)) $date = $strData;              if(ereg("Subject:",$strData)) $subject = $strData;

    if(ereg("Content-Type:",$strData)) {                 $type = $strData;                 if(ereg("text/plain",$type)||ereg("text/richtext",$type)) $typeOk = 1;                 else $typeOk = 0;              }

    if($strData=="\r\n") $noMoreHeaders = 1;

    if($noMoreHeaders==1 && ($typeOk==1 || !isset($type) || $contentIsSet==0) && !ereg("charset",$strData) && !ereg("Content-Type",$strData) && !ereg("-=",$strData)) {                 $content .= $strData;                 $content = str_replace("\r\n","<br>",$content);              }

    }       }       else {          $mybox->showresult();       }

    $nto_arr = explode(' ',$reply);    $nto = $nto_arr[1];

    $betreff_arr = explode(' ',$subject);    $betreff = $betreff_arr[1];

    $von_arr = explode(' ',$from);    $von = $von_arr[1];

    # Ausgabe der Email          echo ("</td></tr>              <tr>                 <td style="background-color:rgb(255,178,0); color: #ffffff;">     Nachricht: $n_count   <b>Betreff: $betreff</b>   <a href="$self?delet=ok&adresses=$adress&nummer=$strMessage">Löschen</a> | <a href="reply.php?to=$nto">Antworten</a>                 </td>              </tr>");

    echo ("<tr><td style="border:1px solid rgb(255,178,0);">     From: $von<br>              $date<br>              </td></tr><tr><td style="border:1px solid rgb(255,178,0);">              $content            ");

    # Variablen zurücksetzen       $from = "";       $reply = "";       $date = "";       $subject = "";       $type = "";       $content = "";       $noMoreHeaders = 0;       $typeOk = 0;       $contentIsSet = 0;       echo ("               </td>             </tr>             <tr>               <td style="text-align:right;">                  <br>                  <br>                  <br>             ");    } /* end foreach */ } else { // Wenn Mailbox nicht ausgelesen wurde...    echo (" </td>           </tr>           <tr>            <td style="text-align:center;">");    if(!$deleted) echo "Keine Nachrichten vorhanden!";    else {       echo ("          <h4>Nachricht gelöscht!</h4>          <a href="$self?address=$address">Zurück zur Mailbox</a>       ");    }

    } echo (" </td>        </tr>       </table>");

    $mybox->quit(); $mybox->showresult(); ?>