2015-02-01 2 views
0

나는 Lavarel 4를 사용하여 이메일을 보내고 메시지에 첨부하는 것을 포함하여 어떤 경우를 파악하려고 꽤 많은 시간을 보냈습니다. 아무도 그것에 대해 이야기하지 않고, 모두가 파일 시스템에서 파일을 첨부하고 있습니다.첨부 파일에 file_get_contents가 있습니까?

실제로 디스크에 다운로드하지 않고 누구도 이미지 (예 : http://www.w3schools.com/html/html5.gif)를 첨부하여 이메일을 보내는 경험이 있습니까?

답변

3

스위프트 메일러가 확실히 당신 Swift_Attachment::newInstance()를 사용하여 데이터를 첨부 할 수 있습니다 :

http://swiftmailer.org/docs/messages.html#attaching-dynamic-content

Laravel이 래퍼 메서드가 나타납니다, 그것은 단지 주요 문서에 언급되지 않습니다. 여기를 참조하십시오 :

https://github.com/laravel/framework/blob/4.2/src/Illuminate/Mail/Message.php#L196

http://laravel.com/api/4.2/Illuminate/Mail/Message.html#method_attachData

그래서이 같이 사용할 수 있습니다 :

$data = file_get_contents(...); 
$message->attachData($data, $filename); 

이것은 PDF처럼 동적으로 자신의 데이터를 생성하는 경우에 특히 유용합니다 예를 들면. , 내가 몇 번 시도

$message->attach("http://www.w3schools.com/html/html5.gif"); 
+0

을 : 당신은 단순히 URL에서 기존의 파일에 당기는 경우

, 당신은 단지 URL과 표준 attach() 방법을 사용할 수 있으며, 스위프트 메일러를 가져 보자 아마 또 다른 문제가있었습니다. 힌트를 주셔서 대단히 감사합니다! =) –