Отображение изображения в кодировке base64 внутри шаблона электронной почты laravel - PullRequest
0 голосов
/ 28 марта 2019

У меня есть изображение, которое я преобразовал в кодированное в base 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 голосов
/ 28 марта 2019

Отправка изображения Base64 по электронной почте не поддерживается в некоторых электронных письмах

Вот список популярных почтовых клиентов для поддержки писем Base64

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