1

我会链接到发送 TinyButStrong 使用 Swiftmailer 生成的 .odt 文件。这是 mu 当前代码

->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 回答