我将一张图像转换为以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 !!}"/>
答案 0 :(得分:0)
某些电子邮件不支持在电子邮件中发送Base64图像
以下是支持Base64电子邮件的流行电子邮件客户端的列表
iOS Mail | Yes
Outlook 2003 | Yes
Apple Mail | Yes
Yahoo! Mail | No
Gmail | No
Android | Yes