2015-10-15 38 views
-1

我嘗試在Magento的CE 1.8.0.0發送郵件,Magento的發送PDF附件

我可以發送圖片等文本文件,但是當我嘗試發送PDF格式,它總是失敗,我的附件大小爲0柯我不能打開它...

這是我的工作方式:

    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失敗了......自從今天早上我就開始工作,我什麼都沒發現,有人有想法?

回答

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) 
     ); 

} 
+0

是,的file_get_contents返回false ...但它以.jpg的作品,巴紐,... 我必須把東西PDF文件?我從來沒有見過! – Krishnak

+0

該文件可能不存在。它可以處理任何*存在的文件(並且對於運行PHP的用戶是可讀的),而不管文件類型和擴展名。請確認:) – Dencker

+0

但我的文件在我的服務器上,我不明白它如何不存在。 – Krishnak

相關問題