Ik heb totaal geen ervaring met PHP, moet het daarom doen met wat tips her en der en véél zoeken op Google.
Nou ben ik al dagen bezig met een simpel ogend stukje code:
De code vangt een email pipe op, bewerkt de inhoud en stuurt dit weer door.
Het enige wat niet wil lukken is filteren op afzender. Ik wil dat het script alleen zijn werk doet bij één bepaalde afzender. De rest van de inkomende mail moet gelijk getrasht worden.
Nou ben ik al dagen bezig met een simpel ogend stukje code:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| <?php // read from stdin $fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd); // handle email $lines = explode("\n", $email); // empty vars $from = ""; $subject = ""; $headers = ""; $message = ""; $splittingheaders = true; for ($i=0; $i < count($lines); $i++) { if ($splittingheaders) { // this is a header $headers .= $lines[$i]."\n"; // look out for special headers if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) { $subject = $matches[1]; } if (preg_match("/^From: (.*)/", $lines[$i], $matches)) { $from = $matches[1]; } } else { // not a header, but message $message .= $lines[$i]."\n"; } if (trim($lines[$i])=="") { // empty line, header section has ended $splittingheaders = false; } } // edit email $cut = split(" - ", $message); $sms = substr($cut[2],0,160); // send email mail("email@adres.ext","login",$sms); ?> |
De code vangt een email pipe op, bewerkt de inhoud en stuurt dit weer door.
Het enige wat niet wil lukken is filteren op afzender. Ik wil dat het script alleen zijn werk doet bij één bepaalde afzender. De rest van de inkomende mail moet gelijk getrasht worden.