2014-04-03 10 views
1

Swiftmailer를 사용하여 TinyButStrong이 생성 한 .odt 파일을 보내도록 링크 할 것입니다. 이 무 현재 코드TinyButStrong 생성 된 파일 처리기를 얻는 방법

내가 첨부 파일을 가지고
->setSubject('Customer General Email from '. $date->format("m-d-Y H:i")) 
      //->setTo($address) 
      ->setFrom('[email protected]') 
      ->attach(
       \Swift_Attachment::newInstance() 
        ->setFilename('space_calculator_results.odt') 
        ->setContentType('application/odt') 
        //->setBody($TBS->Show(OPENTBS_DOWNLOAD, 'space_calc_results.odt')) 
        ->setBody($TBS->Show()) 
      ) 
      ->setBody($this->renderView(
       'WinslowUserBundle:User:calc_results_email.html.twig', 
       array('data' => $data)), 'text/html'); 
     $this->get('mailer')->send($message); 

입니다,하지만 난 LibreOffice와 함께 파일을 열 수 없습니다.

올바른 파일 처리기를 나중에 내 이메일에 첨부 할 수있는 방법이 있습니까? 도움을 주시면 감사하겠습니다. 감사합니다

+0

당신이 좀 더 구체적으로 할 수

manual에 따르면, 당신은 바이너리 컨텐츠를 검색하기 위해이 작업을 수행해야 부디? * "LibreOffice를 열 수 없습니다"*는 무엇을 의미합니까? ** 오류 ** 메시지는 무엇입니까? 다운로드 한 파일에'$ tbs-> show()'에 의해 생성 된 내용이 포함되어 있습니까? – nifr

+0

파일에 적합한 콘텐츠가있는 것 같습니다. 오류는 "버전이 호환되지 않습니다. 파일 버전이 잘못되었습니다." –

답변

3

메서드 TBS->Show() 병합의 이진 결과를 반환하지 않습니다.

$TBS->Show(OPENTBS_STRING); 
$string = $TBS->Source; 

그래서 코드는 다음과 같이 수 :

$TBS->Show(OPENTBS_STRING); 

->setSubject('Customer General Email from '. $date->format("m-d-Y H:i")) 
      ->setFrom('[email protected]') 
      ->attach(
       \Swift_Attachment::newInstance() 
        ->setFilename('space_calculator_results.odt') 
        ->setContentType('application/odt') 
        ->setBody($TBS->Source) 
      ) 
      ->setBody($this->renderView(
       'WinslowUserBundle:User:calc_results_email.html.twig', 
       array('data' => $data)), 'text/html'); 
     $this->get('mailer')->send($message);