Hämta pop3 email ???

PHP

28 svar · 643 visningar · startad av Zacay · sida 2 av 2

Trådstarten, 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 hela trådstarten →
Medlem sedan sep. 200193 inlägg
#21

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

Kalas!

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

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!

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 =)

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?

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

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"; }

?>

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

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

259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)