Email Forward script
Heb hier en daar wat gegoogeld en daar vindt ik hier en daar dus wel wat maar snap niet helemaal hoe dat in zijn werk gaat en of dat wel mogelijk is met mijn hosting provider
Gebruikt iemand een email forward script
Als iemand een idee heeft graag ..
voorbeeld wat ik zoal vind heb dus alleen geen root access
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Jeroen van Welzen
Zulke dingen moet je gewoon op de mailserver regelen, niet met PHP. Het kan wel, je kunt om de zoveel tijd je emailbox uitlezen en daar op reageren, maar dat is een onhandige constructie.
Ik kan daar emails niet filteren op het subject van de email
en aangezien de email adressen in mijn database staan dacht ik het misschien op te kunnen lossen met een php script die de emails forwarden naar het email adres wat in de database staat
Nu komen alle emails binnen in outlook en die worden geforward naar het juiste email adres alleen moet ik deze handmatig bijhouden
En het idee was op dit automatisch te laten verlopen via een script
Onderstaande script is daar een stukje uit, het haalt berichten van een pop3 server op. Deze kan je vervolgens uit elkaar gaan trekken. Een nog handigere oplossing is gebruik te maken van de standaard IMAP functionaliteiten.
Code (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
$server = '';
$gebruikersnaam = '';
$wachtwoord = '';
$fp = fsockopen($server,'110');
if($fp)
{
$st = fgets($fp, 512);
if(substr($st, 0, 3) == '+OK')
{
$st = 'USER '.$gebruikersnaam."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$st = 'PASS '.$wachtwoord."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$onderdelen = explode(" ", $st);
$aantal = $onderdelen[1];
echo '<p>Aantal berichten: '.$aantal.'</p>';
for($i = 1; $i <= $aantal; $i++)
{
$st = 'RETR '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$regel = fgets($fp,512);
while(!ereg("^\.\r\n",$regel))
{
$regel = fgets($fp,512);
//echo $regel.'<br>';
}
}
/*
$st = 'DELE '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Verwijderd van de mailserver.</p>';
}else{
echo '<p><b>Niet</b> verwijderd van de mailserver!</p>';
}
}
*/
}
$st = 'QUIT '."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Klaar!</p>';
}
}
}
}
}
}
}
}
fclose($fp);
?>
$server = '';
$gebruikersnaam = '';
$wachtwoord = '';
$fp = fsockopen($server,'110');
if($fp)
{
$st = fgets($fp, 512);
if(substr($st, 0, 3) == '+OK')
{
$st = 'USER '.$gebruikersnaam."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$st = 'PASS '.$wachtwoord."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$onderdelen = explode(" ", $st);
$aantal = $onderdelen[1];
echo '<p>Aantal berichten: '.$aantal.'</p>';
for($i = 1; $i <= $aantal; $i++)
{
$st = 'RETR '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$regel = fgets($fp,512);
while(!ereg("^\.\r\n",$regel))
{
$regel = fgets($fp,512);
//echo $regel.'<br>';
}
}
/*
$st = 'DELE '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Verwijderd van de mailserver.</p>';
}else{
echo '<p><b>Niet</b> verwijderd van de mailserver!</p>';
}
}
*/
}
$st = 'QUIT '."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Klaar!</p>';
}
}
}
}
}
}
}
}
fclose($fp);
?>
Hartikke bedankt gaan we even me stoeien
Top man
Volgens mijn hosting provider internet today zou het moeten werken
iemand een idee wat ik fout doe ??
het enigste wat ik zie is
Aantal berichten:
Klaar!
Code (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
$server = 'mail.huizenwireless.nl';
$gebruikersnaam = 'login';
$wachtwoord = 'pass';
$fp = fsockopen($server,'110');
if($fp)
{
$st = fgets($fp, 512);
if(substr($st, 0, 3) == '+OK')
{
$st = 'USER '.$gebruikersnaam."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$st = 'PASS '.$wachtwoord."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$onderdelen = explode(" ", $st);
$aantal = $onderdelen[1];
echo '<p>Aantal berichten: '.$aantal.'</p>';
for($i = 1; $i <= $aantal; $i++)
{
$st = 'RETR '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$regel = fgets($fp,512);
while(!ereg("^\.\r\n",$regel))
{
$regel = fgets($fp,512);
echo $regel.'<br>';
echo $onderdelen.'<br>';
}
}
/*
$st = 'DELE '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Verwijderd van de mailserver.</p>';
}else{
echo '<p><b>Niet</b> verwijderd van de mailserver!</p>';
}
}
*/
}
$st = 'QUIT '."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Klaar!</p>';
}
}
}
}
}
}
}
}
fclose($fp);
?>
$server = 'mail.huizenwireless.nl';
$gebruikersnaam = 'login';
$wachtwoord = 'pass';
$fp = fsockopen($server,'110');
if($fp)
{
$st = fgets($fp, 512);
if(substr($st, 0, 3) == '+OK')
{
$st = 'USER '.$gebruikersnaam."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$st = 'PASS '.$wachtwoord."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
$onderdelen = explode(" ", $st);
$aantal = $onderdelen[1];
echo '<p>Aantal berichten: '.$aantal.'</p>';
for($i = 1; $i <= $aantal; $i++)
{
$st = 'RETR '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$regel = fgets($fp,512);
while(!ereg("^\.\r\n",$regel))
{
$regel = fgets($fp,512);
echo $regel.'<br>';
echo $onderdelen.'<br>';
}
}
/*
$st = 'DELE '.$i."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Verwijderd van de mailserver.</p>';
}else{
echo '<p><b>Niet</b> verwijderd van de mailserver!</p>';
}
}
*/
}
$st = 'QUIT '."\n";
if(fwrite($fp,$st) == strlen($st))
{
$st = fgets($fp, 512);
if (substr($st, 0, 3) == '+OK')
{
echo '<p>Klaar!</p>';
}
}
}
}
}
}
}
}
fclose($fp);
?>
bijvraagje: zijn zo'n scripts mogelijk op hotmail accounts?
ik neem aan dat als het script werkt en hotmail is gebaseerd op pop3 dat het wel zou moeten werken maar volgens mij is hotmail geen pop3 service
Nee klopt met gmail zou het dan wel werken, daar kun je het gewoon met een email cliënt zoals outlook ophalen..
hotmail kan je ook linken aan outlook nochthans...
graag
en trouwens hotmail is een http service en geen pop3
Gewijzigd op 01/01/1970 01:00:00 door Jeroen van Welzen