Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CakePHP3电子邮件中嵌入图像 原始问题_Php_Email_Cakephp 3.x - Fatal编程技术网

在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-&

我使用CakePHP3的邮件感知特性发送电子邮件

我的邮件正在使用此功能发送:

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,所以您可能想要打开一个票据


现在,只需放弃使用帮助器,手动创建
标记。

这就是我在回答之前所做的。然而,这是正确的。使用
修复了问题,图像现在已嵌入。我将投票并标记为已接受。