Gmail中不显示Laravel 5.6 markdown邮件中的图像

时间:2018-08-29 09:00:06

标签: php html laravel email

问题

我正在尝试通过减价邮件发送QR图片。该图像在控制器中,然后传递给邮件格式。然后在内部尝试显示以下图像:

<img src="{{ $qr_image }}" alt="QR" title="QR" style="display:block; margin-left: auto; margin-right: auto;" width="200" height="200" data-auto-embed="attachment"/>

我正在使用eduardokum/laravel-mail-auto-embed软件包。现在来了奇怪的部分。将邮件发送到Outlook测试帐户时,QR图像显示完全没有问题。但是,发送到gmail帐户时,我得到以下信息:enter image description here。我已经尝试过data-auto-embed =“ base64”,但是并没有解决问题。

由于Google不喜欢base64,也许有办法用文件路径引用$qr_image吗?

2 个答案:

答案 0 :(得分:1)

尝试一下:

 <img src="<?php echo $message->embed($pathToImage); ?>" style="max-width: 80%;padding-top: 20px;">

在您的控制器中类似

'pathToImage' => public_path()."/images/1stgroup.jpeg"

答案 1 :(得分:1)

首先,确保图像在公共目录中。可能在public/img/emails/image.jpg之类的地方。

现在,您将能够使用asset()帮助程序,该帮助程序创建到公共目录中文件的绝对链接。因此,以下方法应该起作用:

<img src="{{ asset('img/emails/' . $qr_image }}" alt="QR" title="QR" style="display:block; margin-left: auto; margin-right: auto;" width="200" height="200" data-auto-embed="attachment"/>

假设$qr_image只是文件的名称和扩展名。