我正在尝试通过减价邮件发送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帐户时,我得到以下信息:。我已经尝试过data-auto-embed =“ base64”,但是并没有解决问题。
由于Google不喜欢base64,也许有办法用文件路径引用$qr_image
吗?
答案 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
只是文件的名称和扩展名。