Magento发送PDF附件

时间:2015-10-15 14:47:17

标签: php magento pdf

我尝试在Magento CE 1.8.0.0中发送Mail,

我可以发送图片和文本文件,但是当我尝试发送pdf时,它总是失败,我的附件大小为0 Ko,我无法打开它...

这就是我的工作方式:

                    if($filename != '')
                {
                    $mailTemplate
                        ->getMail()
                        ->createAttachment(
                            file_get_contents(Mage::getBaseDir('tmp').'/pjcontact/'.$filename),
                            Zend_Mime::TYPE_OCTETSTREAM,
                            Zend_Mime::DISPOSITION_ATTACHMENT,
                            Zend_Mime::ENCODING_BASE64,
                            basename($filename)
                        );

                }

在服务器上,pdf文件是正确的。

有了这段代码,只有PDF失败了...我从今天早上就开始了,我什么都没找到,有人有想法?

1 个答案:

答案 0 :(得分:2)

我怀疑file_get_contents返回false。尝试使用以下方法进行调试:

if ( $filename != '' )
{

    $path    = Mage::getBaseDir( 'tmp' ) . '/pjcontact/' . $filename;

    Mage::log("File found in {$path}? ".(file_exists($path)?"Yes":"No").". Is it readable? ".(is_readable($path)?"Yes":"No"));

    $mailTemplate
        ->getMail()
        ->createAttachment(
            file_get_contents( $path ),
            Zend_Mime::TYPE_OCTETSTREAM,
            Zend_Mime::DISPOSITION_ATTACHMENT,
            Zend_Mime::ENCODING_BASE64,
            basename( $filename )
        );

}