PHP回声功能。基本

时间:2017-06-29 20:17:10

标签: php symfony swiftmailer

我有一个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);

1 个答案:

答案 0 :(得分:0)

该功能适用​​于本地路径。因此,您必须先将该图像保存在您的硬盘上。例如,您可以使用file_get_contents来获取图像并将其保存到临时路径中。然后,您可以使用该路径并发送电子邮件附件。发送后,您可以使用unlink删除图片。

以下是如何将表单字段直接设置到附件中的完美示例。

$message->attach(
    Swift_Attachment::fromPath($_FILES['fileatt']['tmp_name'])->setFilename($_FILES['fileatt']['name'])
);

fileatt是表单字段的名称。所以将您的表单发布到php页面并使用该附件。