我如何使用cakephp 3电子邮件模板在电子邮件中发送图像?

时间:2017-06-13 18:32:10

标签: php html email cakephp html-email

我正在尝试将图片发送到电子邮件中, 我的图片代码是:<?php echo $this->Html->image('image-name.jpg', ['class'=>'img-responsive']); ?>

虽然我在我的localhost中调试电子邮件模板,但它工作正常,图像显示正常,但是当相同的代码使其在服务器和火灾电子邮件上生效时,电子邮件内容显示正常但图像未显示(未找到)。 / p>

任何机构都会建议实施它的正确方法。

谢谢, 麦

2 个答案:

答案 0 :(得分:1)

对于电子邮件或整个网站,如果您想要内容的完整路径,请使用fullBase param true值,

echo $this->Html->image("logo.png", ['fullBase' => true]);

将输出:

<img src="http://example.com/img/logo.jpg" alt="" />

https://book.cakephp.org/3.0/en/views/helpers/html.html#linking-to-images

这是CakePhp框架建议的正确方法。

答案 1 :(得分:0)

首先附加您要发送的文件

$email->attachments([
    'photo.png' => [
        'file' => '/full/some_hash.png',
        'mimetype' => 'image/png',
        'contentId' => 'unique-id'
    ]
]);

然后在您的电子邮件模板中添加唯一ID

 <img src="cid:unique-id">

详细说明,here