Laravel 12에서 PDF 생성 및 이메일 전송 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
Laravel 12 프로젝트에서 이메일 기능과 PDF 생성을 구현해야 하는 개발자
(중간 난이도: 패키지 설치, 이메일 설정, PDF 생성 기능 이해 필요)
핵심 요약
- PDF 생성은
barryvdh/laravel-dompdf
패키지 사용 (코드:composer require barryvdh/laravel-dompdf
) - 이메일 전송은 Gmail SMTP 설정(
MAIL_DRIVER=smtp
,MAIL_HOST=smtp.gmail.com
)을 통해 구현 - 이메일 전송 시 PDF 첨부를 위해
MailExample
클래스 생성 및php artisan make:mail MailExample
명령어 사용
섹션별 세부 요약
1. 프로젝트 생성 (선택 사항)
composer create-project laravel/laravel example-app
명령어로 Laravel 12 프로젝트 생성- 기존 프로젝트 사용 시 이 단계 생략 가능
2. PDF 생성 패키지 설치
barryvdh/laravel-dompdf
패키지 설치 (명령어:composer require barryvdh/laravel-dompdf
)- PDF 생성 기능을 위한 라이브러리 추가
3. 이메일 설정 구성
.env
파일에 Gmail SMTP 설정:
- MAIL_DRIVER=smtp
- MAIL_HOST=smtp.gmail.com
- MAIL_PORT=587
- MAIL_USERNAME=mygoogle@gmail.com
- MAIL_PASSWORD=rrnnucvnqlbsl
- MAIL_ENCRYPTION=tls
4. 이메일 클래스 생성
php artisan make:mail MailExample
명령어로MailExample.php
파일 생성- 이메일 템플릿 및 PDF 첨부 로직 구현
5. 이메일 전송 및 PDF 첨부
Mail::to($email)->send(new MailExample())
를 통해 이메일 전송- PDF 생성 후 자동 첨부 기능 구현
결론
- 이메일 전송 시 보안 설정(TLS 암호화, 정확한 SMTP 정보)을 반드시 확인하고 테스트해야 함
- PDF 생성 시
barryvdh/laravel-dompdf
패키지를 사용하여 렌더링 로직 구현하고, 이메일 클래스에서 첨부 파일 경로를 명시적으로 설정해야 함 - 이메일 템플릿은 Blade 템플릿으로 작성하고, PDF 생성 로직은
pdf()
메서드를 통해 처리하는 것이 일반적입니다.