我有一个问题,我想用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 .
我有2个选择:
-
首先,我禁止使用webpack安装自动重命名我的图像 . 但我不知道如何 .
-
第二:我使这个脚本能够将logo.png识别为logo.536324324V3.png . 通常情况下,在资产部署后生成manifest.json是自动的,但在我的情况下,我的图像的路径在我的控制器中,所以我不能指定它是一个资产 .
但我做不到
$mail->AddEmbeddedImage(" {{ asset('images/logo.png')}}",'mon_logo',
'logo.png');
无论如何它没有任何意义 .
所以如果你有解决方案,我会接受它:)
谢谢 :)
1 回答
假设您正在使用第二种方法中建议的Asset-component,您可以直接传入类
\Symfony\Component\Asset\Packages
,该类应该在服务idassets.packages
下可用,而Symfony 4也可能在它的完全限定类名下传递 .Packages
类管理您的资产,也是asset()
函数中Twig_Extension中使用的资产 .所以在你的代码中你可能会做这样的事情: