Как отобразить изображение, отправленное с Laravel в сообщении электронной почты - PullRequest
1 голос
/ 20 апреля 2019

Я пытаюсь отобразить изображение (загруженное в мое веб-приложение), переданное из LARAVEL, в сообщении электронной почты.

Изображение полученного письма:

email

В настоящее время мне удалось показать изображение в виде вложения в сообщение электронной почты, но моя цель - показать изображение в виде фотографии на обложке. Содержание сообщения электронной почты разработано в файле catalogEmail.blade.php.

CatalogController.pho

function Sendcatalog (Request $request, $url){

 $this->validate($request, [
      'email'  =>  'required|email'

     ]);

         $language=Language::where('url', '=', $url)->first();
              if(count($language)==0){
                abort(404);
               }      
         $emailStorage= new EmailStorage;
         $emailStorage -> email = $request -> input('email');   
         $emailStorage->save();
         $catalog=Catalog::first();



           $data = array(
            'email'   =>   $request->email,
            'filename'   =>    $catalog->file_name,
            'title'   =>    $catalog->title,
            'content'   =>    $catalog->content,
            'post_thumbnail'   =>    $catalog->post_thumbnail,
            'post_thumbnail2'   =>    $catalog->post_thumbnail2,
        );




     $visitorEmail=$request->email;   
     Mail::to('kajoswiss@gmail.com')->send(new SendCatalogInfo($data));
     Mail::to($visitorEmail)->send(new SendCatalog($data));



 return back()->with('successPost', 'You will get soon catalog on your email address');

}

Web.php

Route::post('/sendcatalog/{url}', 'CatalogController@Sendcatalog')->name('catalog.send');

SendCatalog.php (mail.php)

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class SendCatalog extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
         $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {

             return $this->from('kajoswiss@gmail.com')->subject('KAJO company')->attach(public_path('uploads/catalogs/pictures/'. $this->data['post_thumbnail2']))->view('email/catalogEmail')->with('data', $this->data);
    }
}

CatalogEmail.blade.php

<h3>Hello, catalog {{ $data['title'] }}</h3>


<p>Hello, catalog {!! $data['contnet'] !!}</p>


          <img src="{{public_path('uploads/catalogs/pictures/'.$data['post_thumbnail2'])}}"/>  
Preuzmite katalog iz linka

<a href="{{asset('storage/upload/'.$data['filename'])}}" class="btn btn-hot text-capitalize btn-xs" download>Preuzmi fajl</a> 

1 Ответ

1 голос
/ 20 апреля 2019

Вы должны добавить tdl к адресу источника изображения. Примерно так:

<img src="http://example.com/{{public_path('uploads/catalogs/pictures/'.$data['post_thumbnail2'])}}"/>  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...