PHP で電子メール パイピングを使用しようとしています。
「To」フィールドを取得できないことを除いて、機能しています。
次の PHP コードを使用しています。
#!/usr/bin/php -q
<?php
// read from stdin
$fd = fopen("php://stdin", "r");
$email = "";
while (!feof($fd))
{
$email .= fread($fd, 1024);
$to1 = explode ("\nTo: ", $email);
$to2 = explode ("\n", $to1[1]);
$to = str_replace ('>', '', str_replace('<', '', $to2[0]));
}
fclose($fd);
mail('email@example.com','From my email pipe!','"' . $to . '"');
?>
電子メール アドレス (例: john@smith.com) を使用して、自分の電子メール アドレスに電子メールを送信し、それが PHP パイピング スクリプト (pipe.php) に転送される場合、電子メールの送信者を取得できるようにしたいに。
例: john@smith.com は、PHP パイピング スクリプト (bob@example.com) に送信される転送メールを送信します。
これで、「bob@example.com」などの電子メール アドレス全体が返され、bob のみが返されるようになりました (トーク マークなし)。
私はこれを使ってみました:
$to = $to.split("@");
しかし、次のようなエラーが表示されるようです。split() には少なくとも 2 つのパラメーターが必要です。メールを送信した人に送信されます。
誰かがこれを行う方法を知っているか、私が間違っている可能性があることを知っていますか?
PHP で Piping を使用するのはこれが初めてなので、何か間違ったことをしている場合はお知らせください。