是否可以在Laravel的HTML电子邮件中包含图像
问题描述:
我正在尝试通过Laravel的Mail::send()
发送HTML电子邮件。我正在使用的视图是一个Blade模板,但我不太确定如何在电子邮件正文中包含图像。是否可以在Laravel的HTML电子邮件中包含图像
在我的模板,我有
<h4>You have successfully updated your Session!</h4>
@if ($old_date != $date)
<p>You have changed from {{ $old_date }} to {{ $date }}</p>
@endif
<p>If you have any questions or concerns, please contact the Office of Admissions</p>
{{ HTML::image('/images/full-logo.png', 'logo') }}
然而,我的电子邮件出来,只需在电子邮件正文中断开的链接图标。是否有可能将图像作为参数传递给视图?在我的控制器,它发送的电子邮件,我有
$data = array (
'first_name' => $student->first_name,
'last_name' => $student->last_name,
'date' => $day,
'old_date' => $old_day,
);
Mail::send ('/emails/create_student', $data, function ($message) {
...
});
所以我不知道是否有可能包括通过$data
阵列的图像。
答
HTML::image()
产生绝对路径的图像,像这样:
http://yoursite.dev/image.png
这在当地的环境完美的作品。
邮件客户端,包括Gmail,将覆盖图像路径有这样的事情:
http://images.gmail.com/?src=http://yoursite.dev/image.png
Obviosly第三方服务无法访问您的地域,所以你看到破碎的形象。
作为解决方案,您可以将图像上传到Amazon AWS等第三方服务,并将链接上传到电子邮件模板。
答
这一个为我工作: 的图像在电子邮件视图
<img src="{{ $message->embed(public_path() . '/resources/icon/icon.png') }}" alt="" />
从Laravel doc “A $消息变量总是通过电子邮件意见声明,并允许附件的内联嵌入“。
+0
这完美地工作,thx @obj – Louwki 2017-02-15 11:46:28
是的,可以的,如果图像路径得到解决,请检查图像路径。 – 2015-04-01 16:15:11
电子邮件不在您的网站上。您需要使用网站上图片的完整网址。 – Styphon 2015-04-01 16:15:15