在 CakePHP3 电子邮件中嵌入图像
Embed image in CakePHP3 Email
原问题
我正在使用 CakePHP 3 的 Mailer Aware 特性发送电子邮件。
我的邮件正在使用此功能发送:
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">
似乎它正在对 link 进行编码并放置整个 URL 而不仅仅是 cid
编辑 2 - 功能请求
我希望它能像我使用的那样工作。我这样做的方式没有任何根本性的错误,所以我在 Github 上添加了一张票,以便可以对其进行讨论,并希望它被添加。
HTML 助手 image()
方法,分别是 URL 助手,无法识别特殊的 cid
方案,或任何其他不使用的方案//
在 :
之后,因此将尝试创建图像资产 URL。
这可能是一个增强请求,或者甚至可能被视为一个错误,因此您可能想要打开一个工单 over at GitHub。
现在,只需放弃使用助手并手动创建 <img>
标签。
原问题
我正在使用 CakePHP 3 的 Mailer Aware 特性发送电子邮件。
我的邮件正在使用此功能发送:
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">
似乎它正在对 link 进行编码并放置整个 URL 而不仅仅是 cid
编辑 2 - 功能请求
我希望它能像我使用的那样工作。我这样做的方式没有任何根本性的错误,所以我在 Github 上添加了一张票,以便可以对其进行讨论,并希望它被添加。
HTML 助手 image()
方法,分别是 URL 助手,无法识别特殊的 cid
方案,或任何其他不使用的方案//
在 :
之后,因此将尝试创建图像资产 URL。
这可能是一个增强请求,或者甚至可能被视为一个错误,因此您可能想要打开一个工单 over at GitHub。
现在,只需放弃使用助手并手动创建 <img>
标签。