【问题标题】:Can't send attach files with SwiftMailer and Symfony3无法使用 SwiftMailer 和 Symfony3 发送附件
【发布时间】:2016-05-05 14:02:33
【问题描述】:

你好, 我尝试使用 SwiftMailer 通过 symfony3 发送邮件。当我不包含附件时,一切都像魅力一样工作。 当我尝试附加文件时,不会发送电子邮件,也不会产生错误。 我不知道是不是因为文件路径错误,但是文件正确地位于 Symfony web 目录的 /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);

感谢您的帮助,如果我有一些错误很抱歉,英语不是我的主要语言。

【问题讨论】:

  • 您是否将代码放入 try/catch 块中以查看是否可以捕获任何错误?
  • 不,我没有,但我发现了问题。这是由于文件路径。

标签: php swiftmailer symfony


【解决方案1】:

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

        $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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 2019-04-22
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多