오랫만에 꺼내보는 Laravel
요즘 주임님이랑 laravelcasts에서 동강들으며 공부중이다.
물론 나는 멍- 하게 두세번 돌려보고 다음날 주임님의 첨삭으로 희미하게 이해하는 정도이지만...
여튼
Laravel로 메일 보내기 이지만 정말 메일만 보낸다. 아직 그 이상은 시도하지 않았다.
조금씩 차츰차츰 영역을 넓혀나가야지
동강은
http://laracasts.com/video/laravel-4-mail
한글로 된 메뉴얼은
http://www.laravel-korea.org/docs/mail
우선 Laravel 서버 실행. 서버 실행 방법은 다른 글에 포스팅했으니 참고하자.
php artisan serve
메일을 보내면 우선
1. laravel\app\config\mail.php를 수정해야한다
안에는 메일을 전송하기 위한 정보를 담고 있는 배열을 return
하는 소스코드가 있는데
host, port, username, password등을 설정하는 곳이다.
본인이 쓰고 싶은 설정에 맞게 입력을 하면되고, 참고로 다음은 google 메일을 사용할 때 설정하는 방법이다.
'driver' => 'smtp', 'host' => 'smtp.gmail.com', 'port' => 465, 'encryption' => 'ssl', 'username' => 'your-email@gmail.com', 'password' => 'your-password',
2. laravel\app\views\routes.php 수정
$user
에는 받는 사람의 정보를 선언
$data
에는 메일에서 보여질 내용 선언 하였다.
send
메소드에 전달되는 첫번째 인수는 이메일의 바디로 사용될 뷰 파일의 이름입니다. 두번째 인수는 뷰에 전달 될 $data
이며, 세번째는 이메일 메시지에 다양한 옵션을 지정하게 해주는 클로저입니다.
라고하고... Mail::send
메소드를 사용해서 이제 이메일을 보내도록 해보자.
Route::get('/', function() { $user = array( 'email'=>'test@gmail.com', 'name'=>'Kim, Se-Hee' ); $data = array( 'detail'=>'Your awesome detail here', 'name' => $user['name'] ); Mail::send('emails.welcome', $data, function($message) use ($user) { $message->from('seheekim@netpas.net', 'Kim, Se-Hee'); $message->to($user['email'], $user['name'])->subject('Welcome!'); }); return 'Done!'; });
from
에 들어가는 내용은 보내는 사람의 정보
to에 들어가는 내용은 받는 사람의 정보, subject는 메일의 제목을 지정해주면 된다.
3. views\emails\welcome.blade.php 생성 후 입력
메일 내용을 입력하는 곳이다. 왜 welcome.blade.php인지는 모르겠지만 다들 이렇게 쓰더이다. 공부가 더 필요하다ㅜㅜ
Your sign up details are below: {{ $detail }}, {{ $name}}
4. 마지막으로 http://localhost:8000/ 실행
하면 Done!이라고 메세지가 나오며 메일함을 확인하면 메일이 와있는것을 볼 수 있을 것이다.
참고 사이트
http://forums.laravel.io/viewtopic.php?id=8503
http://maxoffsky.com/code-blog/sending-e-mail-with-laravel-4-using-mail/