Suche besonderes Email Programm
Karsten
- software
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
Hallo,
ja, mit The-Bat von http://www.ritlabs.com/. Die Funktion ist unter Konto / Filter-Assistent / Aktionen / Dateianlagen extrahieren in Verzeichnis.
Gruß,
Christian
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
<?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 */
$mybox = new pop3; $popserver = 'pop3.web.de';
$address = ''; $username = 'username'; $password = 'passwort';
$error = FALSE; $deleted = FALSE; $self = $PHP_SELF; $content = ""; $noMoreHeaders = 0; $contentIsSet = 0;
echo (" <table cellpadding="5" cellspacing="0" border="0" style="width:100%;"> <tr> <td> ");
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 */
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">";
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(); ?>