Zend_mail memory_limit

时间:2015-08-06 15:09:50

标签: php pdf attachment zend-mail memory-limit

这是我的问题:我正在使用生成PDF的Zend应用程序(使用Html2PDF),这些文件与PDFmerge合并,然后发送一封电子邮件,附件中的最终文件。 当我想要生成11个PDF时,文件全部生成,合并的文件也会生成,但不会发送电子邮件。该脚本使用exec()函数执行:

exec("php ".DOCUMENT_TOOT.generate_bulk.php " ".escapeshellarg(serialize($formData)), $output, $return); 

和$ output将此返回给我:

"Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 32 bytes) in DOCUMENT_ROOT/Library/Zend/Mail/Protocol/Smtp.php on line 315" 

如果我没错,脚本使用32Mo内存,但我的memory_limit设置为1024M ...

这是发送邮件的功能:

    public function sendBulkEmail ($bulknumber) {
    $mail_bulk=new Zend_Mail();
    $mail_bulk->setFrom('noreply@mydomain.com');

    $mail_bulk->setSubject($bulknumber);
    $mail_bulk->addTo('customer@mydomain.com');

    $config = array('auth' => 'login',
                    'username' => 'email@mydomain.com',
                    'password' => 'mypassword');

    $transport = new Zend_Mail_Transport_Smtp('ssl0.ovh.net', $config);

    $mail_bulk->setBodyHtml("Text text text");        
    $mail_bulk->createAttachment(file_get_contents(DOCUMENT_ROOT.$bulknumber.".pdf"), "application/pdf", Zend_Mime::DISPOSITION_ATTACHMENT, Zend_Mime::ENCODING_BASE64, $bulknumber.".pdf");
    $mail_bulk->send($transport);  

PDF的大小是1.05 Mo(因此,不能太大而无法通过电子邮件发送)。

所以,如果有人可以帮助我,那就太棒了......!谢谢

0 个答案:

没有答案