2016-10-01 91 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類型:

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

而關於attachData()方法

attachData方法可用於將原始字符串作爲附件附加。

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

:例如,如果你已經產生了內存中的PDF格式,並希望將其附加到電子郵件而無需將其寫入磁盤您可以使用此方法