我正在尝试将电子邮件管道与 PHP 一起使用。
我有它的工作,除了我不能得到“到”字段。
我正在使用以下 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@example.com”,我希望它只返回 bob(没有任何谈话标记)。
我试过用这个:
$to = $to.split("@");
但我似乎收到一条错误消息: split() 需要至少 2 个参数。这将发送给发送电子邮件的人。
有谁知道该怎么做或知道我可能做错了什么?
这是我第一次在 PHP 中使用管道,所以如果我做错了什么,请告诉我。