728x90

삽질하다 다음번엔 하기 싫어서 남김.


일단 .evn 파일을 열어 메일 계정을 셋팅한다.


MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<your@email.address>
MAIL_PASSWORD=<your_password>
MAIL_ENCRYPTION=tls


셋팅을 마치면 메일을 보낼 메서드에 아래와 같이 작성한다.


\Mail::send([], $data, function ($message) {
$message->to("to@e.mail", "to_name")
->from("from@e.mail", "from_name)
->subject("message_title")
->setBody("message body bla bla bla", "text/html;charset=utf-8");
});


이것이 기본 형태이다.


param 1 에 view 대신 빈 배열을 넣어 통과시켰다. (구글이 알랴줌)


그러나 우리는 고정 형태의 메일을 고정 수신자에게 보내지는 않을것이다.


만약 그럴거라면 당장 뒤로가기를 눌러라. 대체 이걸 왜 읽고있나?


어딘가의 DB에서 가져온 row를 array로 변경했고, 이걸 $data 라고 가정한다.


\Mail::send([], $data, function ($message) use ($data) {
$message->to($data["to_name"], $data["to_name"])
->from($data["from_email"], $data["from_name"])
->subject($data["title"])
->setBody($data["body"], "text/html;charset=utf-8");
});

위와 같이 "use" 키워드를 사용하여 callback 함수에서 데이터를 사용할 수 있게 해주면 된다.


그럼 ㅂㅂ



================================== 2019.05.10 내용 추가 ====================================


message body에 아래 내용을 추가 해 주어야 메일 폼이 깨지지 않는다.


$message .= 'Content-Transfer-Encoding: 8bit' . "\r\n\r\n";


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기