2012-11-25 42 views
1

我正在尝试使用PHP的电子邮件管道。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 protected]','From my email pipe!','"' . $to . '"'); 

?> 

如果我使用一个电子邮件地址(例如:[email protected])和发送电子邮件到被转发到我的PHP管我的电子邮件地址脚本(pipe.php)我希望它能够获取电子邮件发送给谁。

例如: [email protected]电子邮件,去我的PHP脚本管道([email protected])我希望它只是没了@ example.com

只返回鲍勃部分我转发电子邮件

现在发生的是它返回整个电子邮件地址,如“[email protected]”,我希望它只返回鲍勃(没有任何谈话标记)。

我一直在使用这种尝试:

$to = $to.split("@"); 

但我似乎得到一个错误,指出:斯普利特()预计,至少2个参数。 发送给发送电子邮件的人。

有谁知道如何做到这一点或知道我可能做错了什么?

这是我第一次在PHP中使用管道,所以如果我做错了什么,请让我知道。

回答

1

最终使用:

$to1 = explode ("\nTo: ", $email); 
$to2 = explode ("\n", $to1[1]); 
$to = str_replace ('>', '', str_replace('<', '', $to2[0])); 
list($toa, $tob) = explode('@', $to); 

然后改变了邮件:

mail('[email protected]','From my email pipe!','"' . $toa . '"');