我尝试在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失败了...我从今天早上就开始了,我什么都没找到,有人有想法?
答案 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 )
);
}