2015-04-23 29 views
0

我有一個腳本,每當收到郵件時都使用cpanel管道執行php文件。我的問題是,每當我發送帶附件的電子郵件時, mime_parser.php庫也不會解碼該信息。這裏是我的代碼:mime_parser.php不解碼帶附件的電子郵件

#!/usr/bin/php -q 
<?php 
    require_once('inc/engage.php'); 

    // Create socket 
    $sock = fopen("php://stdin", 'r'); 
    $email = ''; 
    while(!feof($sock)){ 
    $email .= fread($sock, 1024); 
    } 

    fclose($sock); 

    require_once('libraries/rfc822_addresses.php'); 
    require_once('libraries/mime_parser.php'); 

    $mime = new mime_parser_class; 
    $mime->ignore_syntax_errors = 1; 
    $parameters = array('Data' => $email); 

    $mime->Decode($parameters, $decoded); 

    $DB->query("INSERT INTO email_accounts_mail (`message`) VALUES('".serialize($decoded)."')"); 
?> 

rfc822_addresses.php:https://raw.githubusercontent.com/suhastech/pushmail/master/class/rfc822_addresses.php

mime_parser.php:https://raw.githubusercontent.com/ryancramerdesign/EmailImage/master/pop3_classes/mime_parser.php

我想要的電子郵件消息有和沒有附件解碼。現在它解碼它沒有附件;但不與......我錯過了什麼?

回答

0

我想出了自己。通過將數據保存在tmp文件夾中並在使用後將其刪除,我可以檢索附件中存儲的所有數據。這是通過將參數數組中的SaveBody屬性與指定的文件夾(我的是tmp)相加,然後創建文件夾完成的。在完成文件夾內的內容後,我刪除了所有文件以節省空間。 :-)