2011-10-10 134 views
1

我正在使用zend的應用程序,我正在使用zend_mail來閱讀電子郵件。我能夠獲得電子郵件的所有電子郵件和部分。我遇到的唯一問題是,如果用戶發送大附件,則會破壞腳本。Zend_Mail - 閱讀電子郵件附件 - 彈回過大的電子郵件

實例用戶發送

Message -> Mutiple Parts -> Atachment 1 = 10mb 
          Atachment 2 = 8mb 
          Atachment 3 = 9mb 
          Atachment 4 = 8mb 
          Atachment 5 = 9mb 

我得到

<font color=ff0000> 
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 33878183 bytes) in /home/bizvar/public_html/login2/library/Zend/Mime/Decode.php on line 120 
Segmentation fault 

我知道這個問題是因爲電子郵件是大的。我可以通過向我的腳本示例添加更多內存來解決此問題。

ini_set('memory_limit', '256M'); 

然後它工作。

問題,如果他們發送一個更大的文件,那麼我會有同樣的問題。

如何防止大文件進入並可能反彈回來。

回答

0

我想你需要設置一個「合理」的大小限制,並在調用createAttachment()方法之前檢查附件的大小,而不允許附加太多的大文件。

希望幫助,