霍洛, 我尝试使用 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);
感谢您的帮助,对不起,如果我有一些错误,英语不是我的主要语言。
答案 0 :(得分:1)
我解决了我的问题。它是由文件路径引起的。文件路径必须是绝对的。 bellow是正确的代码:
$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);