在laravel的电子邮件模板中显示base64编码的图像

时间:2019-03-28 11:25:10

标签: laravel laravel-5 laravel-5.2 laravel-5.1

我将一张图像转换为以64为基数的编码图像。我正在通过电子邮件在laravel中发送图像。我尝试将其作为嵌入式图像以及附件进行附加。但是,作为嵌入式图像,该图像不会显示,但会在电子邮件页面上显示base 64代码。作为附件,附件中没有任何图像。如果我在laravel的刀片模板视图中渲染,它将很好地工作。但是在laravel的电子邮件模板视图中。这是行不通的。为什么?

这是我的下面的代码

在控制器中:

$base64 = 'data:image/' . $type . ';base64,' .base64_encode($img_canvas);
IN THE MAILABLE CLASS
Mail::to([$email])->send(new SendPoem($yourname, $mothername, $email, $image));
public function build()
    {
return $this->from("no-reply@omo.com",'Omo')
 ->subject("Happy Mother's Day")
 ->with('yourName', $this->yourName)
 ->with('motherName', $this->motherName)
 ->with('motherEmail', $this->motherEmail)
  ->with('image', $this->image)
 ->view('emails.send-poem')
 ->attachData(base64_decode($this->image), 'poem-for-mom.png', [
 'mime' => 'image/png',
]);}

在电子邮件视图模板中:

<img class="adapt-img" src="{!! $image !!}"/>

1 个答案:

答案 0 :(得分:0)

某些电子邮件不支持在电子邮件中发送Base64图像

以下是支持Base64电子邮件的流行电子邮件客户端的列表

iOS Mail     |  Yes 
Outlook 2003 |  Yes 
Apple Mail   |  Yes 
Yahoo! Mail  |  No  
Gmail        |  No  
Android      |  Yes