webForumDet fria alternativet

Hämta pop3 email ???

PHPur PHP

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 →
Medlem sedan sep. 200193 inlägg
#21

Härligt, då är du en ängel!

Kalas!

------------------
.... Weii

Medlem sedan sep. 200193 inlägg
#22

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

Medlem sedan mars 20007 896 inlägg
#23

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 ) )
&nbsp; $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. --

Medlem sedan sep. 200193 inlägg
#24

Asså, ibland är jag för kass i skallen ;-)

Ha det gött o tack för hjälpen =)

------------------
.... Weii

Medlem sedan sep. 200193 inlägg
#25

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

Medlem sedan mars 20007 896 inlägg
#26

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. --

Medlem sedan sep. 200193 inlägg
#27

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

Medlem sedan sep. 200193 inlägg
#28

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

Medlem sedan sep. 200193 inlägg
#29

@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

142 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)