2014-11-01 96 views
8

我已经搜索了在Laravel发送的电子邮件中嵌入图像的方法。我发现大多数人使用的方法是将图像作为附件嵌入。Laravel:如何将图像作为内容嵌入到电子邮件中而不是作为附件

<img src="{{$message->embed(asset('assets/img/logo.png'))}}" style="padding:0px; margin:0px" /> 

有没有一种方法来嵌入图像,而不是它的附件?我试图将图像转换为base64字符串,但这甚至不起作用。

+1

我不认为这是一个非常好的主意,因为在电子邮件客户端用于在线支持(编码)图像是稀疏。有些人允许它将图像带走(实际上我认为没有任何主要的基于网络的电子邮件客户端Gmail,雅虎等允许这样做)。 – Bogdan 2014-11-01 20:12:53

+1

但是我确实收到邮件,其中嵌入了图片但不是附属图片 – BlackPearl 2014-11-01 20:27:23

+0

@BlackPearl这并不意味着它可以在任何地方使用,也不意味着它是一个好主意。 – ceejayoz 2014-11-01 20:46:51

回答

12

不管它是好还是不好...

你差不多有它了。我想问题是asset()函数正在生成一个完整的URL,并且Laravel需要该文件的路径。 Official Doc

试试这个:

<img src="{{ $message->embed('assets/img/logo.png') }}" style="padding:0px; margin:0px" /> 
+0

将不会嵌入该文件作为附件? – BlackPearl 2014-11-01 20:43:42

+0

@BlackPearl我不这么认为。如果你看看我链接的官方文档。它声明它用于嵌入内联附件。另外,如果向上滚动一下,则会看到附加文件的“正常”方法。 – lukasgeiter 2014-11-01 20:50:42

+0

它仍然会产生与我的代码相同的结果。 – BlackPearl 2014-11-02 06:51:21

相关问题