Gå til innhold

hjelp til php script


Anbefalte innlegg

hei jeg trenger hjelp med en PHP kode som jeg har funnet .

den kobler seg opp mot en mail og henter ut bilder som er sent med mail

 

men veit ikke kva for en mail jeg kan bruke for et imap system

 

Klikk for å se/fjerne innholdet nedenfor

<?

$ServerName = "{hotmail.com}INBOX"; // For å koble til med Imap. Det kan være 

nødvendig med et punktum rett etter INBOX (INBOX.)
$brukerNavn = "****@hotmail.com"; //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;
}

?>

Endret av tjumsen
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...