Zend Framework: PDF ekleri açmaya çalışırken Bazı e-posta kullanıcıları hataları olsun?

2 Cevap php

Garip bir sorun ve bunu gidermek için nasıl emin değil yaşıyorum. Ben bir yönetici oturum bir PDF yüklemek ve posta listesine abone herkese eki olarak göndermek için izin verir benim Zend Framework denetleyicileri birinde bir komut dosyası oluşturduk. Sorun bazı kullanıcılar dosya bozuk olduğunu, onlar PDF eki açmak mümkün olduğunu rapor olmasıdır. Ben bu sadece AOL kullanıcıları oluyor düşünüyorum, ama olumlu değilim. Eğer daha önce bu sorunla karşılaştı mı? Ya da belki benim koduyla yanlış bir şey AOL ile ilgili bir sorun değil, ama?

İşte çalışır kod:

Ayrıca, ben ZF sürüm 1.6.0 kullanıyorum. Yani ilgili olup olmadığından emin değil.

//assuming the form is valid:
$table = new Subscribers();
$rowset = $table->fetchAll();
foreach ($rowset as $row) {
    $mail = new Zend_Mail();
    $mail->setBodyText($form->getElement('body')->getValue())
    	 ->setFrom('weekly-update@email.com', 'Weekly Update')
    	 ->addTo($row->email)
    	 ->setSubject($form->getElement('subject')->getValue());
    $fileLocation = $form->getElement('attachment')->getValue();
    $fileContents = file_get_contents($fileLocation);
    $attachment = $mail->createAttachment($fileContents);
    $attachment->filename = str_replace(Zend_Registry::get('config')->downloadsLocation . '/', '', $fileLocation);			
    $mail->send();
}

2 Cevap

Bu kod bu hat (benim için) görünür:

$attachment = $mail->createAttachment($fileContents);

büyük olasılıkla Zend_Mail çerçevenin createAttachment yöntemi mevcut ek başlık bilgi eklemek gerekir ::

$attachment = $mail->createAttachment($fileContents,
                        Zend_Mime::DISPOSITION_INLINE);

Birçok büyük e-posta sağlayıcıları (buldum) iyi e-posta politikasına sıkı bağlılık için inat ederler.

Bu etrafında oynayın ve ben bunu işe alırsınız eminim.

Ben de bu sorun vardı.

Ben bir şekilde dosya akışı bilgi dışarı iz öneririm. Benim app ile sorun $fileContents = file_get_contents($fileLocation); çağrısı düzgün dosyasının akışı almak değil idi, böylece düşme olabilir burası.

Bu deneyin:

$mail = new Zend_Mail();
...
var_dump($mail->send());

Sen dosya akışı anahtarının altında var_dump çıkıyor anlamsız bir sürü görmelisiniz:

["_content:protected"]=>
        string(37129) "%PDF-1.5
        etc...