我想在phpmailer的电子邮件中包含我想要包含的图像。 我已经尝试使用swift邮件程序与我的symfony应用程序,但没有工作我已经尝试了所有配置(所有主机所有端口所有加密等)3天我打电话给他们等没有任何成功。它适用于本地而非远程环境... 无论如何,让我们回到我的问题。
我使用带有安可的webpack(为symfony4设置资产的新方法)。 我的所有图像都在公用文件夹中重命名。 myimagename.65342324b5.jg I / O myimagename.jpg当我运行安可来部署资产时。
问题在于我想要AddEmbeddedImage
假设我在assetsfolder中有logo.png。 当我部署资产时,它在公共图像文件夹中重命名为logo.536324324V3.png。 所以当我做的时候
$mail->AddEmbeddedImage('images/logo.png','mon_logo', 'logo.png');
当我想在我的电子邮件的html主体中引用'mon_logo'时,图片未加载,因为它不存在logo,536324324V3.png。
我有两个选择:
第二:我让这个脚本能够将logo.png识别为 logo.536324324V3.png。通常它是自动的 资产部署后生成manifest.json,但在我的情况下 我的图像的路径在我的控制器中,所以我无法指定它 是一种资产。
但我做不到
$mail->AddEmbeddedImage(" {{ asset('images/logo.png')}}",'mon_logo', 'logo.png');无论如何,这没有任何意义。
所以,如果你有解决方案,我会接受它:)
谢谢:)
答案 0 :(得分:2)
假设您正在使用第二种方法中建议的资产组件,您可以直接传入应在服务ID \Symfony\Component\Asset\Packages
下可用的类assets.packages
,也可以传入Symfony 4。它是完全合格的班级名称。 Packages
课程管理您的资源,也是asset()
函数中Twig_Extension中使用的内容。
所以在你的代码中你可能会做这样的事情:
$fileUrl = $packages->getUrl('images/logo.png');