1

Swiftmailer を使用して TinyButStrong によって生成された .odt ファイルを送信するようにリンクします。これはミューカレントコードです

->setSubject('Customer General Email from '. $date->format("m-d-Y H:i"))
            //->setTo($address)
            ->setFrom('avangardauto33@gmail.com')
            ->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 でファイルを開くことができません。

正しいファイル ハンドラーを取得して、後でメールに添付できるようにする方法はありますか? どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

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('avangardauto33@gmail.com')
            ->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);
于 2014-04-03T20:24:14.460 に答える