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