Gå til innhold

[LØST] Hente ut deler av mail-header (IMAP)


Anbefalte innlegg

Hei!

 

Er plaget med SPAM på mailen min, har en epostkonto som er "catch all", slik all epost til "[email protected]" kommer til den. For å blokkere SPAM bruker jeg å opprette "dummy" epostkontoer for de adressene som SPAMerne sender TIL.

 

I det siste har det kommet en del SPAM og jeg vil gjerne ha listet opp hvilken adresse de har sendt til så jeg slipper å gå inn å sjekke manuelt i fil->egenskaper->detaljer og lete meg frem til "Delivered-To:" på hver enkelt mail.

 

Noen som kan gi meg noen tips til hvor jeg skal starte?

 

Å få koblet opp til serveren med IMAP skal jeg nok klare, men hvordan kan jeg:

* Hente ut header på mailer i mappen Inbox.SPAM?

* Søke igjennom header og returnere det som står etter "Delivered-To"?

 

Takker for alle ideer!

Endret av ZoRaC
Lenke til kommentar
Videoannonse
Annonse

Klart det:

<?php
$ServerName = "{mail.domain.com:143/notls}INBOX.SPAM"; // For å koble til med Imap. Det kan være nødvendig med et punktum rett etter INBOX (INBOX.)
$brukerNavn = "[email protected]"; //Brukernavn til mailen
$passOrd = "secret"; //Passord til mailkontoen

<?
define("IN_SCRIPT", true);

require_once("core.inc.php");
if ($debugging) $time_start = getmicrotime();

//Kobler til mailboksen
$mbox = imap_open($ServerName,$brukerNavn,$passOrd) or die("Klarte ikke åpne mail, prøv igjen senere");

// Henter antall meldinger
if ($hdr = imap_check($mbox)) {
   $msgCount = $hdr->Nmsgs;
}

echo "<b>Antall meldinger totalt: ".$msgCount."</b><br><br>";
//echo "<pre>";

$i = 1;
while ($msgCount>$i) {
$header = imap_fetchheader($mbox, $i);

$array = explode("\r\n", $header);
$delivered_array = explode(":", $array[3]);
$delivered_to[] = $delivered_array[1];
 
//echo $header;
//echo "<hr>";

++$i;	
}
unset($array);
unset($delivered_array);

foreach (array_count_values($delivered_to) as $key => $value) {
echo $key . " - " . $value . "<br>";
}
?>

 

Kunne tenkt meg å få de sortert med de adressene som jeg har fått flest mailer til, men var ikke mer enn 15-20 forskjellige denne gangen, så var lett å se selv hvem som var mest "utsatt".

 

Den er heller ikke 100%, siden bare 90-95% av alle mailer har "Delivered-To" på linje 4 i headeren. :p

Lenke til kommentar
Her må jeg vel sette $minmail til adressen jeg vil finne?

Saken er at jeg ikke vet hvilken adresse jeg forventer å finne :p

6397452[/snapback]

nei, $minmail skal være hele mailen, eller dvs. hele strengen du vil søke igjennom.(typisk headeren)

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...