可以';t使用SwiftMailer和Symfony3发送附件


Can't send attach files with SwiftMailer and Symfony3

Hollo,我尝试使用SwiftMailer使用symfony3发送邮件。当我不包括附加文件时,一切都像一个符咒。当我尝试附加文件时,不会发送电子邮件,也不会生成错误。我不知道这是否是由于文件路径错误,但该文件正确地位于Symfonyweb目录中的/doc/temp目录中。

我的源代码如下:

            $message =  'Swift_Message::newInstance()
                ->setSubject("Subject")
                ->setFrom("from@gmail.com")
                ->setTo("to@gmail.com")
            ;
            $message->setBody($this->renderView(
                'xxxx.email.twig'
            ), "text/html");
            $message->attach('Swift_Attachment::fromPath('/doc/temp/file.pdf'));
            $this->get('mailer')->send($message);

谢谢你的帮助,如果我犯了一些错误,很抱歉,英语不是我的主要语言。

我解决了我的问题。这是由于文件路径。文件路径必须是绝对路径。以下是正确的代码:

        $message =  'Swift_Message::newInstance()
            ->setSubject("Subject")
            ->setFrom("from@gmail.com")
            ->setTo("to@gmail.com")
        ;
        $message->setBody($this->renderView(
            'xxxx.email.twig'
        ), "text/html");
        $message->attach('Swift_Attachment::fromPath($this->get('kernel')->getRootDir()."/../web/doc/temp/file.pdf"));
        $this->get('mailer')->send($message);