2011-10-10 144 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()方法之前检查附件的大小,而不允许附加太多的大文件。

希望帮助,