2016-10-01 4 views
0

Я пытаюсь прикрепить изображение с помощью электронной почты. Я много пробовал. Но я провалился. Нет файла с электронной почтой. Я также попытался вставить изображение, но это тоже не работает. Пожалуйста, помогите мне выяснить проблему.Невозможно прикрепить файл по электронной почте в laravel 5.2

Mail::send('emails.freetrial', $data, function($message) use ($data){ 
     $img = Freetrialsimage::where('freetrials_id', '=', $data['id']); 
     $message->from('[email protected]'); 
     $message->to('[email protected]'); 
     $message->subject('Free Trial'); 
     foreach ($img as $attach) 
     { 
      $message->attachData($img->file_path, $img->file_name);; 
     } 
    }); 

ответ

1

Если вы хотите прикрепить файл по пути - использовать attach() метод, если у вас есть сырое содержимое файла (двоичные данные изображения) - используйте attachData(). В вашем примере это выглядит как attach().

Из документации

При прикреплении файлов к сообщению, вы можете также указать имя дисплея и/или MIME тип, передавая массив в качестве второго аргумента метода Attach:

$message->attach($pathToFile, ['as' => $display, 'mime' => $mime]);

А о методе attachData()

Метод attachData может использоваться для присоединения необработанной строки байтов в качестве вложения. Например, вы можете использовать этот метод, если вы генерировали PDF в памяти и хотите, чтобы прикрепить его к электронной почте без записи на диск:

$message->attachData($pdf, 'invoice.pdf');

Смежные вопросы