2010-05-18 69 views
0

我正在寻找一种方法来监视Linux mbox电子邮件帐户,当电子邮件到达时我想从电子邮件下载附件并保存附件(CSV文件),以便它可能是由PHP脚本使用。什么是解决这个问题的最好方法?我已经看过PHP的IMAP函数,但是这似乎并不是最合适的方法,当一个简单的bash脚本可能是所有需要的?解析电子邮件附件的脚本

回答

1

对于这种情况,我将电子邮件传送给PHP脚本,并让PHP脚本解析电子邮件。你得到立竿见影的效果,而不是等待了一个cronjob拉电子邮件下来

$stdin = fopen('php://stdin', 'r'); 
while (!feof($stdin)) 
{ 
$input .= fread($stdin, 8192); 
} 

现在你有完整的电子邮件中$input,你可以使用boundries提取base64编码信息,然后file_put_contents("/tmp/file.csv",base64_decode($extracted_file_contents))

确保您chmod + x

+0

感谢,这看起来很完美 - 当你说管道电子邮件,你有一个特定的方法,你是否修改邮箱设置以某种方式调用脚本,我的服务器运行Plesk,所以邮箱是由qmail处理? – Stuart 2010-05-18 20:05:52

+0

我在qmail上使用这个 - 你只需要添加一个.qmail文件到用户目录并放入| /var/www/htdocs/script.php – 2010-05-18 20:13:40

+0

如果你没有CLI访问权限,那么plesk应该有一种方法转发电子邮件到脚本 – 2010-05-18 20:14:22