Noen som veit om et script som kan få bilder fra navn@navn.com
til en mappe på en server ???
til en mappe på en server ???
12
915
|
<? $ServerName = "{Servernavn}INBOX"; // For å koble til med Imap. Det kan være nødvendig med et punktum rett etter INBOX (INBOX.) $brukerNavn = "brukernavn"; //Brukernavn til mailen $passOrd = "*******"; //Passord til mailkontoen $lovligMail = "lovligmail"; //Den mailadressen man må sende fra for at ting skal legges ut $katalog = "./test/mms/img/"; //Sti til katalogen der bilder skal lagres //Kobler til mailboksen $mbox = imap_open($ServerName,$brukerNavn,$passOrd) or die("Klarte ikke åpne mail, prøv igjen senere"); if ($hdr = imap_check($mbox)) { $msgCount = $hdr->Nmsgs; } $overview=imap_fetch_overview($mbox,"1:$msgCount",0); $size=sizeof($overview); for($i=$size-1;$i>=0;$i--){ $val=$overview[$i]; $msg=$val->msgno; $from=$val->from; $date=$val->date; $subj=$val->subject; $seen=$val->seen; $from = ereg_replace("\"","",$from); $from = ereg_replace(" ","",$from); $lengde = strlen($lovligMail); $from = substr($from,0,$lengde); //Sjekker om mailen er fra rett adresse... if($from == $lovligMail) { $kropp = get_part($mbox, $msg, "TEXT/PLAIN"); $subj = imap_utf8($subj); $kropp = imap_utf8($kropp); //Fikser norske bokstaver i subject $subj = ereg_replace("Æ", "Æ", $subj); $subj = ereg_replace("Ø", "Ø", $subj); $subj = ereg_replace("Ã…", "Å", $subj); $subj = ereg_replace("æ", "æ", $subj); $subj = ereg_replace("ø", "ø", $subj); $subj = ereg_replace("Ã¥", "å", $subj); //Fikser norske bokstaver i kropp $kropp = ereg_replace("Æ", "Æ", $kropp); $kropp = ereg_replace("Ø", "Ø", $kropp); $kropp = ereg_replace("Ã…", "Å", $kropp); $kropp = ereg_replace("æ", "æ", $kropp); $kropp = ereg_replace("ø", "ø", $kropp); $kropp = ereg_replace("Ã¥", "å", $kropp); $struct = imap_fetchstructure($mbox,$msg); $contentParts = count($struct->parts); $vedlegg = imap_bodystruct($mbox,$msg,2); //Lager mer fornuftig format på data $datoArray = explode(" ", $date); //Formaterer dag if($datoArray[0] < 10) { $dag = "0"; $dag .= $datoArray[0]; } else { $dag = $datoArray[0]; } //Formaterer måned switch ($datoArray[1]) { case "Jan": $mnd = "01"; break; case "Feb": $mnd = "02"; break; case "Mar": $mnd = "03"; break; case "Apr": $mnd = "04"; break; case "May": $mnd = "05"; break; case "Jun": $mnd = "06"; break; case "Jul": $mnd = "07"; break; case "Aug": $mnd = "08"; break; case "Sep": $mnd = "09"; break; case "Oct": $mnd = "10"; break; case "Nov": $mnd = "11"; break; case "Dec": $mnd = "12"; break; } //Formaterer år $aar = $datoArray[2]; //Formaterer tid $otid = $datoArray[3]; $tid = substr($otid,0,2).substr($otid,3,2).substr($otid,6,2); //Setter sammen datoen $dato = $aar.$mnd.$dag."_".$tid; $filNavn = $vedlegg->parameters[0]->value; $filType = strrev(substr(strrev($filNavn),0,4)); $skrivefil = $katalog.$dato.$filType; if($filType == ".jpg" && !is_file($skrivefil)) //Dersom vedlegg er en .jpg-fil og filen ikke allerede finnes { //Finner innholdet til attachmenten $filInnhold = imap_fetchbody($mbox,$msg,2); $filInnhold = base64_decode($filInnhold); $bilde = imagecreatefromstring($filInnhold); //Lager bilde av rådata fra attachment $skrivefil = $katalog.$dato.$filType; //Lager filnavn //Lager selve bildet imagejpeg($bilde,$skrivefil); //Skriver bildet til disk chmod($skrivefil,0644); //Setter leserettigheter //Her kan man legge til hva man vil gjøre med dataene. //$subj er tittel på mailen //$kropp er body //$skrivefil inneholder sti til bildefilen som er skrevet. //$bilde inneholder rådata for bildet //Det kan være lurt å kjøre en imagedestroy($bilde) etterpå for å sikre at det blir slettet fra minnet. } } imap_delete($mbox,$msg); //Sletter mail som er behandlet } //Slutt på for-løkke som tar alle mailene imap_expunge($mbox); //Tømmer mailboksen imap_close($mbox); //Lukker mailboksen function get_mime_type(&$structure) { $primary_mime_type = array("TEXT", "MULTIPART","MESSAGE", "APPLICATION", "AUDIO","IMAGE", "VIDEO", "OTHER"); if($structure->subtype) { return $primary_mime_type[(int) $structure->type] . '/' .$structure->subtype; } return "TEXT/PLAIN"; } function get_part($stream, $msg_number, $mime_type, $structure = false, $part_number = false) { if(!$structure) { $structure = imap_fetchstructure($stream, $msg_number); } if($structure) { if($mime_type == get_mime_type($structure)) { if(!$part_number) { $part_number = "1"; } $text = imap_fetchbody($stream, $msg_number, $part_number); if($structure->encoding == 3) { return imap_base64($text); } else if($structure->encoding == 4) { return imap_qprint($text); } else { return $text; } } if($structure->type == 1) /* multipart */ { while(list($index, $sub_structure) = each($structure->parts)) { if($part_number) { $prefix = $part_number . '.'; } $data = get_part($stream, $msg_number, $mime_type, $sub_structure,$prefix . ($index + 1)); if($data) { return $data; } } } } return false; } ?>
|