Hämta pop3 email ???
28 svar · 625 visningar · startad av Zacay · sida 2 av 2
Frågan, av Zacay
Hej! jag är en nybörjare på PHP och har byggt min första commuinty. med en massa funktioner :) nu tänkte jag att det skulle vara häftigt att medlemmar kan hämta sin pop3 email genom den oxå.. Kollade upp PHP manualen. .där stod inte så mycket om det.. bara en lista med funktioner. Jag tänkte är det ngn som har några funktioner som jag kan använda mig av att hämta email? alla hjälp skulle vara
Läs frågan i sin helhet →Jag har problem med funktionen:
kastaPost($i);
koden jag använder är:
for($i = 0; $i < count($emails); $i++)
{
kastaPost($i);
tabortPost();
} ?>
jag får följande fel:
Fatal error: Call to undefined function: kastapost() in /var/www/stage/johan/temp/pop/index.php on line 10
Jag inkluderar klassen längst upp i filen, via kommandot require(pop3.php);
Snälla hjälp :P
------------------
.... Weii
Det verkar som att du inte använder klassens instans när du använder funktionerna?
Så här bör det se ut, och skulle jag ha gjort:
$Mail = new ePost ( "din_epost_server/pop3:110", "användare", "lösen" );
$mailArray = $Mail->hämtaPost ();
while ( $currentMail = array_shift ( $mailArray ) )
$Mail->kastaPost ( $currentMail['msgID'] );
$Mail->tabortPost ();
$Mail->stängPost ();
Du använde inte instansen ( i mitt exempel variabeln $Mail ) när du anropade funktionerna, vilket fick PHP att tro att kastaPost var en separat funktion.
Du skickade inte heller med meddelandets ID-nummer när du använda kastaPost(), utan du skickade med loopens aktuella nummer. Se hur jag har gjort, så borde det gå bättre. :)
Kul att du använder klassen!
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
Asså, ibland är jag för kass i skallen ;-)
Ha det gött o tack för hjälpen =)
------------------
.... Weii
Det är inte så att någon löst kruxet med att få bort:
This is a multi-part message in MIME format. ------=_NextPart_000_0021_01C198F6.1623B460 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable testar2 ------=_NextPart_000_0021_01C198F6.1623B460 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
ur meddelandena?
------------------
.... Weii
nicclas. Kolla http://cgi.webforum.nu/wf/Forum12/HTML/001834.html#6
Det är i den här tråden, lite högre upp bara. :)
------------------
SPiN, bjorne.w@telia.com
-- Wise men talk because they have something to say; fools, because they have to say something. --
Jag löste det, nu blir det man får ut rent o snyggt... :P
Lita arbete kvar dock =)
<?
$mbox = imap_open ("{pop.server.com/pop3:110}INBOX", "användarnamn", "lösenord") or die(imap_last_error());
$antal = @imap_num_msg($mbox);
for ($k=1;$k <= $antal;$k++) {
$msg_header = @imap_headerinfo($mbox,$k,1,1);
$mailet[$k] = @imap_fetchbody($mbox,$k,"1");
$datum[$k] = $msg_header->date;
$fran[$k] = $msg_header->from[0]->personal;
$till[$k] = $msg_header->toaddress;
$text = $msg_header->subject;
$elements=@imap_mime_header_decode($text);
for ($i=0;$i <count($elements);$i++) {
$amne[$k] .=$elements[$i]->text;
}
}
if ($antal > 0)
{
for ($j=1;$j <=$antal;$j++) {
print "<B>Ämne: </B> $amne[$j] <BR>";
print "<B>Datum:</B> $datum[$j] <BR>";
print "<B>Från: </B> $fran[$j] <BR>";
print "<B>Till: </B> $till[$j] <BR><BR>";
print "$mailet[$j]";
print "<BR><BR><BR>";
}
// Här kan man göra något finurligt om man vill ta bort mailen
// @imap_delete ($mbox, 1);
// @imap_expunge ($mbox);
}
else
{ print "mailboxen e tom"; }
?>
------------------
.... Weii
Jag löste det, nu blir det man får ut rent o snyggt... :P
Lita arbete kvar dock =)
<?
$mbox = imap_open ("{pop.server.com/pop3:110}INBOX", "användarnamn", "lösenord") or die(imap_last_error());
$antal = @imap_num_msg($mbox);
for ($k=1;$k <= $antal;$k++) {
$msg_header = @imap_headerinfo($mbox,$k,1,1);
$mailet[$k] = @imap_fetchbody($mbox,$k,"1");
$datum[$k] = $msg_header->date;
$fran[$k] = $msg_header->from[0]->personal;
$till[$k] = $msg_header->toaddress;
$text = $msg_header->subject;
$elements=@imap_mime_header_decode($text);
for ($i=0;$i <count($elements);$i++) {
$amne[$k] .=$elements[$i]->text;
}
}
if ($antal > 0)
{
for ($j=1;$j <=$antal;$j++) {
print "<B>Ämne: </B> $amne[$j] <BR>";
print "<B>Datum:</B> $datum[$j] <BR>";
print "<B>Från: </B> $fran[$j] <BR>";
print "<B>Till: </B> $till[$j] <BR><BR>";
print "$mailet[$j]";
print "<BR><BR><BR>";
}
// Här kan man göra något finurligt om man vill ta bort mailen
// @imap_delete ($mbox, 1);
// @imap_expunge ($mbox);
}
else
{ print "mailboxen e tom"; }
?>
------------------
.... Weii
------------------
.... Weii
@imap_delete ($mbox, 1);
skall alltså ligga innanför wilesatsen där all data skrivs ut..
@imap_expunge ($mbox);
skall ligga utanför while satsen..
annars tar den inte bort alla meddelanden..
tjipp o hej
------------------
.... Weii