ugrás a tartalomhoz

stdin...

carto · 2008. Aug. 13. (Sze), 15.21
Sziasztok!

Próbálkozom egy email fogadó cuccal phpben. Nem akarok mail szervert használni egyenlőre,találtam 2-3 megoldást neten pl:

$fd = fopen("php:\stdin", "r");
$email = addslashes(fread($fd, 102400));
fclose($fd);
if($email){
// Empty variables to avoid errors later on
$from = "";
$replyto = "";
$subject = "";
$headers = "";
$message = "";
$split = true;


// Break the e-mail into a line by line array to be put together again later on.
$lines = explode("\n", $email);

// processing the e-mail
for ($i=0; $i<count($lines); $i++) {
if ($split) {
// 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];
}
if (preg_match("/^Reply-To: (.*)/", $lines[$i], $matches)) {
$replyto = $matches[1];
}
} else {
// not a header, but message
$message .= $lines[$i]."\n";
}

if (trim($lines[$i])=="") {
// empty line, header section has ended
$split = false;
}
}

ez oké is, mert így ránézésre oké a cucc, viszont én úgy szeretném kipróbálni, h ne kelljen levelező rendszert se használnom, hanem csak egy szabványos e-mailt berekok egy txt-be és azt stdin-re irányítom.
Na ebben kellene egy kis segítség. Hol? Hogyan tudom ráirányítani a php scriptre azt a bizonyos txt-ét?
WAMP-ot használok.
köszi előre is!
 
1

Melyik változban...

TeeCee · 2008. Aug. 14. (Cs), 08.47
... van az e-mail tartalma? Sikerült megtalálni?

Amúgy fájlt fopen()-nel tudsz fájlt beolvasni. (Nehogy azt mond megint, hogy nem segítettem, belinkeltem, ha már nem tudtad megtalálni.) Nem kell stdin-nel bohóckodni fájlbeolvasáshoz, nézd meg a példákat!

Amúgy meg szerintem IMAP-os függvényeket használj, ne pop3-assal kérjél le leveleket, mert az imap-pal a PHP-s függvényekkel szét tudod szedni az e-mailt darabokra, míg pop3 esetében ezt csak PHP-ben megírt fügvényekkel lehet (a probléma ott kezdődik, ha sok daraból áll a mail). Megírni nem fogod tudni, max. találhatsz valamelyik webmailben jó pop3-as szétszedő kódot.
2

re

carto · 2008. Aug. 14. (Cs), 11.56
köszi, de azzal már kipróbáltam, (ismerem a fileos függvényeket), itt épp az lett volna a lényeg, hogy úgy irányítsam a file-t a scriptre, vagy a bemenetre, ahogy az eredeti bemásolt kódba volt.
a darabolóst meg meglesem valahol a tanácsaid alapján!
köszi
3

wamp

vbence · 2008. Aug. 14. (Cs), 12.22
Végrehajtod a következőt:

php.exe valami.php <file.txt

persze a php.exe-t teljes elérési úttal...
4

re

carto · 2008. Aug. 15. (P), 09.46
köszi!! :) ez kellett nekem