我有一个Swiftmailer PHP脚本,运行如下。
在它响应图像路径的那一刻,但我想通过电子邮件本身浏览图像。
我设法获得了一个单独的版本,我在其中包含来自实时网址的路径的附件,但似乎无法解决如何让它通过$ media版本。
任何帮助将不胜感激。感谢。
message = \Swift_Message::newInstance();
$message->attach(\Swift_Attachment::fromPath('https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png'))
->setSubject('Form')
->setFrom('test@test.com', 'Test')
->setTo('test@test.com', 'Test Name')
->setContentType("text/html")
->setBody(
$this->renderView(
'Contact:Contact:contact.html.twig',
array(
'ip' => $request->getClientIp(),
'name' => $form->get('name')->getData(),
'email' => $form->get('email')->getData(),
'media' => $form->get('media')->getData()
)
)
);
# Send message
$this->get('mailer')
->send($message);
答案 0 :(得分:0)
该功能适用于本地路径。因此,您必须先将该图像保存在您的硬盘上。例如,您可以使用file_get_contents
来获取图像并将其保存到临时路径中。然后,您可以使用该路径并发送电子邮件附件。发送后,您可以使用unlink
删除图片。
以下是如何将表单字段直接设置到附件中的完美示例。
$message->attach(
Swift_Attachment::fromPath($_FILES['fileatt']['tmp_name'])->setFilename($_FILES['fileatt']['name'])
);
fileatt
是表单字段的名称。所以将您的表单发布到php页面并使用该附件。