2016-12-15 3 views
4

私はメールテンプレートに画像を持っていますが、送信すると画像は表示されません。私は何をすべきか。Mail Facadeを使ってlaravel 5.3に画像メールを添付するにはどうすればいいですか?

テンプレートのHTML

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

のApp \メール\は、インライン画像を埋め込む電子メールテンプレート内の$ message変数の埋め込み方法を使用するには

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

完全修飾URLを試してください。 '' 'http:// yourdomain.com/img/blahblah.jpg'''を画像' '' src'''にコピーします。 – Dev

+0

はい、私はこのアイデアを考えていますが、これに対して新しいルーティングを作るのは簡単な方法ですか? –

+0

アレクシーの答えを確認してください。しかしそれはあなたの電子メールのサイズを増加させるかもしれません。 – 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ヘルパーを使いますドキュメント

から

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

:として画像の完全なURLを取得するための機能210

要求 (HTTPまたはHTTPS)の現在のスキームを使用してassetためのURLを生成します

docsをチェックしてください。

+0

私はこの方法を使用していますが動作しません。私は新しいルートから画像を取得する必要があると思います。 –

+0

あなたの画像が 'public'フォルダにあることを願っています。 –

+0

はい。それはpublic/img/subscribe.pngにあります。私はmaster.dev/template/emailの経路を持っています。画像表示が良好になる。問題は、私がこのテンプレートを使用したときにメールの受信者に表示されない場合です。 –

関連する問題