cakephp - 从电子邮件布局中附加带有 contentId 的文件
问题描述
我有的
在我的控制器(CakePHP 3.8)中:
$email = new \Cake\Mailer\Email();
$email
->emailFormat('html')
->setLayout('mylayout')
->setTo($to)
->setSubject($subject)
->addAttachments([
'logo.png' => [
'file' => $logoImage,
'mimetype' => mime_content_type($logoImage),
'contentId' => 'mylogo'
]
])
->send($message);
然后在src/Template/Layout/Email/html/mylayout.ctp
:
<img src="cid:mylogo">
这样可行。
我想要的是
我想从布局文件中嵌入该图像。
- 所以我不必
->addAttachments()
每次发送电子邮件时都重复 - 如果我替换图像,我只能在布局中执行一次
- 如果我使用另一个不需要图像的布局,则不会附加和发送
使用contentId
看起来像一个选项。但是我如何从布局内部做到这一点?
我试过的
- 将图像作为 data/uri 发送,但这不起作用
- 在布局中搜索某些
Cake\Mailer
实例$this
,但找不到任何实例
解决方案
推荐阅读
- node.js - 在节点中,我是 cros 不适用于跨平台
- php - 是否有必要在准备好的语句中预定义变量?
- redis - 数千个 REDIS 排序集 VS 数百万个简单集
- google-analytics - 谷歌分析电子商务突然停止跟踪,我不知道为什么
- jupyter-notebook - 在 jupyter notebook 中更改默认内核
- r - 在 dplyr mutate(across) 调用中创建因子失败
- observable - ng 测试抛出:TypeError:this.navMenuService.displayAllTabs.subscribe 不是函数
- python - 我想在具有特定条件的 jinja2 模板中使用 for 循环
- google-cloud-platform - 用于 Json 消息的 Apache Beam Kafka IO - org.apache.kafka.common.errors.SerializationException
- java - 从 swagger hub 导出 spring 存根导致编译错误