2014-11-01 23 views
8

Tôi đã tìm cách nhúng hình ảnh vào email được gửi bằng Laravel. Phương pháp tôi đã tìm thấy mà hầu hết mọi người sử dụng là nhúng hình ảnh dưới dạng tệp đính kèm.Laravel: Cách nhúng hình ảnh trong email dưới dạng nội dung chứ không phải dưới dạng tệp đính kèm

<img src="{{$message->embed(asset('assets/img/logo.png'))}}" style="padding:0px; margin:0px" /> 

Có cách nào để nhúng hình ảnh mà không bị ảnh đính kèm không? Tôi đã thử chuyển đổi hình ảnh thành chuỗi base64 nhưng điều đó thậm chí không hoạt động.

+1

Tôi không nghĩ đó là một ý tưởng rất tốt, bởi vì hỗ trợ cho nội tuyến (mã hóa) hình ảnh trong các email client là thưa thớt. Một số cho phép nó một số dải hình ảnh đi (thực sự tôi nghĩ rằng không ai trong số các web chính dựa trên email khách hàng Gmail, Yahoo, vv cho phép điều này). – Bogdan

+1

Nhưng tôi nhận được email nơi hình ảnh được nhúng nhưng không phải là bản đính kèm – BlackPearl

+0

@BlackPearl Điều đó không có nghĩa là nó hoạt động ở mọi nơi, cũng không có nghĩa là đó là một ý tưởng hay. – ceejayoz

Trả lời

12

Cho dù đó là điều tốt hay không ...

Bạn gần như có nó. Tôi cho rằng vấn đề là chức năng asset() đang tạo ra một url đầy đủ và Laravel cần đường dẫn đến tệp. Official Doc

Hãy thử điều này:

<img src="{{ $message->embed('assets/img/logo.png') }}" style="padding:0px; margin:0px" /> 
+0

sẽ không nhúng này tệp dưới dạng tệp đính kèm? – BlackPearl

+0

@BlackPearl Tôi không nghĩ vậy. Nếu bạn xem các tài liệu chính thức tôi đã liên kết. Nó nói rằng nó cho nhúng đính kèm nội tuyến. Ngoài ra, nếu bạn cuộn lên một chút, bạn sẽ thấy phương thức "bình thường" để đính kèm tệp. – lukasgeiter

+0

Nó vẫn sẽ tạo ra kết quả tương tự như mã của tôi. – BlackPearl

Các vấn đề liên quan