Zend Framework : 일부 이메일 사용자는 PDF 첨부 파일을 열 때 오류가 발생합니까?

StackOverflow https://stackoverflow.com/questions/733040

문제

이상한 문제가 있고 문제 해결 방법을 잘 모르겠습니다. Zend Framework 컨트롤러 중 하나에서 관리자가 로그인하고 PDF를 업로드하고 메일 링리스트에 가입 한 모든 사람에게 첨부 파일로 보낼 수있는 스크립트를 만들었습니다. 문제는 일부 사용자가 파일이 손상되었다고 PDF 첨부 파일을 열 수 없다고보고한다는 것입니다. 나는 이것이 AOL 사용자에게만 일어나고 있다고 생각하지만 긍정적 인 것은 아닙니다. 전에이 문제를 겪었습니까? 아니면 AOL의 문제가 아니라 내 코드에 문제가 있습니까?

작업을 수행하는 코드는 다음과 같습니다.

또한 ZF 버전 1.6.0을 사용하고 있습니다. 그것이 관련이 있는지 확실하지 않습니다.

//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();
}
도움이 되었습니까?

해결책

이 코드 라인에서 다음과 같이 나타납니다.

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

Zend_mail 프레임 워크의 CreateAttachment 메소드에서 사용 가능한 추가 헤더 정보를 추가해야 할 것입니다.

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

많은 큰 이메일 제공 업체는 우수한 이메일 정책을 엄격하게 준수하기위한 스틱서입니다 (찾은).

이것을 가지고 놀면 나는 당신이 그것을 일하게 할 것이라고 확신합니다.

다른 팁

나는 또한이 문제가 있었다.

어떻게 든 파일 스트림 정보를 추적하는 것이 좋습니다. 내 앱의 문제는 $fileContents = file_get_contents($fileLocation); 전화는 파일 스트림을 제대로 얻지 못하므로 아래로 떨어질 수 있습니다.

이 시도:

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

키 아래 VAR_DUMP에서 파일 스트림이 나오는 횡설수설이 있습니다.

["_content:protected"]=>
        string(37129) "%PDF-1.5
        etc...
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top