如何使用Symfony2中的Swiftmailer将PDF附加到电子邮件中

时间:2014-08-04 07:27:52

标签: php email symfony swiftmailer

我在symfony2中使用swiftmailer发送电子邮件,但我想将指定的PDF文件添加为电子邮件的文件附件。我该怎么做?

这是我目前的代码:

$message = \Swift_Message::newInstance()
    ->setSubject('Hello Email')
    ->setFrom('send@example.com')
    ->setTo('recipient@example.com')
    ->setBody(
        $this->renderView(
            'HelloBundle:Hello:email.txt.twig',
            array('name' => $name)
        )
    )
;
$this->get('mailer')->send($message);

4 个答案:

答案 0 :(得分:9)

您可以使用swift邮件程序将文档附加到电子邮件中。

来自symfony doc:

    $message = Swift_Message::newInstance()
      ->setFrom('from@example.com')
      ->setTo('to@example.com')
      ->setSubject('Subject')
      ->setBody('Body')
      ->attach(Swift_Attachment::fromPath('/path/to/a/file.zip'))
    ;

$this->getMailer()->send($message);

答案 1 :(得分:5)

如果要从缓冲区上传文件,可以执行以下操作:

$attach=getPdfFunction(); //binary
Swift_Attachment::newInstance($attach, 'document.pdf','application/pdf');

答案 2 :(得分:4)

您可以使用以下行添加附件:

$message->attach(\Swift_Attachment::fromPath($attach));

答案 3 :(得分:2)

以下代码应该这样做:

$attachment = \Swift_Attachment::fromPath('subpath/to/attachment');
$message->attach($attachment);