라라벨 메일 설정
smtp
SMTP서버로부터 송신합니다. 일반적인 방법
(라라벨세일의 mailpit이라는 smtp서버가 포함되어있는데 localhost:8025로 접근가능하다.
하지만 브리즈등에는 포함되어있지않다.필자의 경우 google의 smtp서버를 사용..)
sendmail
sendmail을 설치한 자체적인 메일서버를 가지고 있을 경우 사용함
mailgun
API베이스의 메일 송신 서비스
mailtrap
API베이스의 메일 송신 서비스
(이번 테스트때 사용함)
ses (Simple Email Service)
AWS의 메일 송신 서비스
log
메일을 송신하지 않고 storage/logs폴더안에 로그형식으로 기록한다
로컬에서 테스트할때 사용하기 좋다
failover
메일 송수신 실패시 해당 설정된 메일 서비스에 전달한다
메일 파일 생성 명령어
아래의 명령어를 입력하면 app/Mail폴더에 Mailable을 상속한 클래스가 생긴다
php artisan make:mail 메일파일명
메일 파일 사용 예제
왼쪽은 Mailable을 상속한 클래스와 오른쪽은 메일을 송신요청하는 부분이다
메일 관련 프로토콜
SMTP (TCP:25)
메일 송신시 사용된다. 클라이언트와 서버에 메일 송신과 서버와 서버사이에 메일 송신에 사용된다
POP3 (TCP:110)
메일 서버에 수신된 메일을 클라이언트로 가져올때 사용한다
가지고 온뒤 메일서버의 메일은 삭제함
암호화되지 않음
IMAP (TCP:143)
메일 서버에 수신된 메일을 클라이언트로 가져올때 사용한다
가지고 온뒤에도 메일서버에 메일을 남겨둔다
암호화함으로 안전하다
메일 서버
메일을 송신하는 기능을 가지고 있으며(SMTP)
메일을 저장해뒀다가 메일 수신이 요청되면 메일을 전달해주는 기능을 포함함(POP3,IMAP)
(sendmail등을 linux서버에 설치하여서 자체적인 메일서버를 구축할수있다. 도메인과 서버필요)
메일 전달 과정
아래의 이미지 참고
참고