Email Forward script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen van Welzen

Jeroen van Welzen

28/11/2008 10:32:00
Quote Anchor link
Weet iemand of het mogelijk is om een email forward script te maken

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/local/bin/php -q
<?php

// get email from stdin
$fd = fopen("php://stdin", "r");
$email = "";
while (!feof($fd)) {
$email .= fread($fd, 1024);
}

fclose($fd);

// forward it to [email protected]
// ???

[/code]
Gewijzigd op 01/01/1970 01:00:00 door Jeroen van Welzen
 
PHP hulp

PHP hulp

27/11/2024 19:15:03
 
Arjan Kapteijn

Arjan Kapteijn

28/11/2008 11:24:00
Quote Anchor link
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.
 
Jeroen van Welzen

Jeroen van Welzen

28/11/2008 11:39:00
Quote Anchor link
Ik heb namelijk een probleem bij mijn hosting provider

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
 
Arjan Kapteijn

Arjan Kapteijn

28/11/2008 12:17:00
Quote Anchor link
Ik heb in het verleden iets soortgelijks gedaan, een bepaalde externe partij leverde alles aan in emailtjes ipv een nette XML of andere oplossing. Ik heb dus een script moeten schrijven om alle emailtjes op te halen en ze vervolgens in het systeem te verwerken aan de hand van het ontwerp en de inhoud van de email.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>
 
Jeroen van Welzen

Jeroen van Welzen

28/11/2008 12:36:00
Quote Anchor link
Kijk dit is top

Hartikke bedankt gaan we even me stoeien

Top man
 
Jeroen van Welzen

Jeroen van Welzen

02/12/2008 10:58:00
Quote Anchor link
Ik krijg het script gepost door Arjan Kapteijn niet helemaal aan de praat..

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>
 
Tikkes C

Tikkes C

02/12/2008 11:00:00
Quote Anchor link
bijvraagje: zijn zo'n scripts mogelijk op hotmail accounts?
 
Jeroen van Welzen

Jeroen van Welzen

02/12/2008 11:07:00
Quote Anchor link
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
 

02/12/2008 11:14:00
Quote Anchor link
Nee klopt met gmail zou het dan wel werken, daar kun je het gewoon met een email cliënt zoals outlook ophalen..
 
Tikkes C

Tikkes C

02/12/2008 11:24:00
Quote Anchor link
hotmail kan je ook linken aan outlook nochthans...
 
Jeroen van Welzen

Jeroen van Welzen

02/12/2008 11:25:00
Quote Anchor link
Maar het script werkt nog niet dus als iemand een ideetje heeft waarom niet
graag
 
Tikkes C

Tikkes C

02/12/2008 11:33:00
Quote Anchor link
zet eens bovenaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?PHP
ERROR_REPORTING(E_ALL);
ini_set("display_errors",1);
?>
 
Jeroen van Welzen

Jeroen van Welzen

02/12/2008 11:38:00
Quote Anchor link
Nope ik krijg geen errors

en trouwens hotmail is een http service en geen pop3
Gewijzigd op 01/01/1970 01:00:00 door Jeroen van Welzen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.