2016-12-15 179 views
4

我在郵件模板上得到了圖像,但是當我發送圖像時不包含圖像。我該怎麼辦。如何使用Mail Facade在laravel 5.3上添加圖片郵件?

HTML模板

<img src="/img/blahblah.jpg"> //this image does not display on receiver of mail 

軟件\郵件\訂閱

public function build() { 
    return $this->view('mail.subscribe'); 
} 
+0

嘗試完全限定的網址,例如'''圖片'''src'''中的'''http:// yourdomain.com/img/blahblah.jpg''。 – Dev

+0

是的,我認爲這個想法,但有一個簡單的方法,而不是爲此做出新的路線? –

+0

請檢查Alexey的回答。但它可能會增加您的電子郵件的大小。 – Dev

回答

5

要嵌入的內嵌圖像,您的電子郵件模板中使用的$消息變量嵌入方法。 Laravel會自動適用於所有的電子郵件模板中的$消息變量,所以你不必擔心手動

<img src="{{ $message->embed($pathToFile) }}"> 

https://laravel.com/docs/5.3/mail#inline-attachments

+0

你是如何設置這個$信息的? –

+0

謝謝你解決我的問題。提示:首先製作一個顯示圖像的路徑,例如domain.com/template/image/{image},然後回答上面的問題,使用路由名稱更改路徑以顯示圖像。乾杯! –

2

通過它在你的郵件模板使用asset幫手函數來獲取圖像的完整URL爲:

<img src="{{ asset('img/blahblah.jpg') }}"> 

從文檔

使用請求 (HTTP或HTTPS)

檢查出docs的當前方案產生用於asset的URL。

+0

我使用這種方法,但不工作我想我需要從新路線拉圖像 –

+0

我希望你的圖像在'公共'文件夾。 –

+0

是的。它是在public/img/subscribe.png我有路由master.dev /模板/電子郵件。並且圖像顯示效果很好。問題是當我使用這個模板,它不顯示在郵件的接收器 –

相關問題