Ik probeer een script te maken dat een bepaalde pop-account leegtrekt.
Zoals je ziet heb ik een probleem met het loopen bij het retrieven van de mails. Dit is de output:
Zoals je ziet blijft hij de hele tijd dezelfde mail ophalen, en dat is ook logisch. Elke keer dat er een regel binnekomt uit de socket en $i = 2 word de retrieve-opdracht immers opnieuw verstuurd.
Nu moet ik dus een statement hebben die ervoor zorgt dat hij niet elke keer opnieuw de mail retrieved, maar ik kan er maar niet opkomen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| $mail['server'] = "server"; $mail['poort'] = "110"; $mail['user'] = "user"; $mail['pass'] = "pass"; $mv = fsockopen($mail['server'], $mail['poort']); $i = 0; // counter van regels $j = 0; // counter van gelezen mails while( $line = fgets($mv, 128) ){ echo $line; if( $i == 0 ) $tb = "USER " . $mail['user']; if( $i == 1 ) $tb = "PASS " . $mail['pass']; if( $i == 2 ){ $str = str_replace("+OK " . $mail['user'] . " has ", "", $line); $str = explode(' ', $str); $num_msg = $str[0]; $cur_msg = $tb = "RETR $num_msg"; } //if( $i == 3 ) $tb = "QUIT"; if( $tb != "" ) fputs($mv, "$tb\r\n"); $i++; } fputs($mv, "QUIT\r\n"); |
Zoals je ziet heb ik een probleem met het loopen bij het retrieven van de mails. Dit is de output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| +OK [server] +OK Password required for [user] +OK [user] has 1 visible message (0 hidden) in 972 octets. +OK 973 octets Received: from smtp10.wxs.nl ([195.121.6.35]) +OK 973 octets Received: from smtp10.wxs.nl ([195.121.6.35]) +OK 973 octets Received: from smtp10.wxs.nl ([195.121.6.35]) +OK 973 octets Received: from smtp10.wxs.nl ([195.121.6.35]) +OK 973 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets Received: from smtp10.wxs.nl ([195.121.6.35]) OK 972 octets |
Zoals je ziet blijft hij de hele tijd dezelfde mail ophalen, en dat is ook logisch. Elke keer dat er een regel binnekomt uit de socket en $i = 2 word de retrieve-opdracht immers opnieuw verstuurd.
Nu moet ik dus een statement hebben die ervoor zorgt dat hij niet elke keer opnieuw de mail retrieved, maar ik kan er maar niet opkomen
Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.