在CakePHP3电子邮件中嵌入图像 原始问题
我使用CakePHP3的邮件感知特性发送电子邮件 我的邮件正在使用此功能发送:在CakePHP3电子邮件中嵌入图像 原始问题,php,email,cakephp-3.x,Php,Email,Cakephp 3.x,我使用CakePHP3的邮件感知特性发送电子邮件 我的邮件正在使用此功能发送: public function forgotPassword($user,$password) { $this ->from(['no-reply@deltabec.com' => 'DeltaBEC Intraweb']) ->emailFormat('html') ->to([$user->email => $user-&
public function forgotPassword($user,$password)
{
$this
->from(['no-reply@deltabec.com' => 'DeltaBEC Intraweb'])
->emailFormat('html')
->to([$user->email => $user->name . ' ' . $user->surname])
->subject('New Intraweb Password')
->template('Users' . DS . 'forgot_password', 'default')
->attachments([[
'file' => WWW_ROOT . 'img' . DS . 'logo-dark.png',
'mimetype' => 'image/png',
'contentId' => 'company_logo'
]])
->viewVars(compact('user','password'));
}
在我的电子邮件中,我有:
<?= $this->Html->image('cid:company_logo'); ?>
但我的邮件是这样发送的:
我做错了什么?没有将图像嵌入电子邮件中有什么原因吗
编辑1-发现
所以我把电子邮件保存为html。这就是它告诉我的:
<img id="_x0000_i1025" src="/cakesite/img/cid%3Acompany_logo">
似乎它正在对链接进行编码并放置一个完整的URL,而不仅仅是cid
编辑2-功能请求
我希望它能像我用的那样工作。我这样做没有什么根本性的错误,所以我在上面添加了一张票证,以便可以讨论,希望可以添加。HTML帮助程序
image()
方法,分别是URL帮助程序,无法识别特殊的cid
方案,或者在:
之后不使用/
的任何其他方案,因此将尝试创建图像资源URL
这可能是一个增强请求,或者甚至可能被认为是一个bug,所以您可能想要打开一个票据
现在,只需放弃使用帮助器,手动创建
标记。这就是我在回答之前所做的。然而,这是正确的。使用
修复了问题,图像现在已嵌入。我将投票并标记为已接受。