이메일 전송 및 발신함 저장 방법 (DotApp PHP 프레임워크 활용)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- PHP 개발자, DotApp 프레임워크 사용자
- 중급~고급 수준의 웹 개발 지식을 가진 개발자
핵심 요약
- SMTP/IMAP 설정을 통해
Config::email()
으로 이메일 기능 구성 - Email::send() 및 Email::sendAndSave() 메서드로 이메일 전송 및 발신함 저장
- /testemail/send-save 경로에서 첨부파일 포함 이메일 전송 및 발신함 저장 테스트 가능
섹션별 세부 요약
1. 모듈 생성 및 초기 설정
php dotapper.php --create-module=EmailTest
명령어로EmailTest
모듈 생성app/config.php
파일에 SMTP/IMAP 설정 추가 (계정명testAcc
사용)Email
클래스(use Dotsystems\App\Parts\Email
)를 모듈 내부에서 참조
2. 이메일 전송 라우트 설정
Router::get()
으로 3가지 라우트 정의:
- /testemail/send
: 기본 이메일 전송
- /testemail/send-attachment
: 첨부파일 포함 이메일 전송
- /testemail/send-save
: 이메일 전송 및 발신함 저장
Email::send()
메서드 사용 시$account
,$to
,$subject
,$body
,$attachments
파라미터 전달
3. Email facade 메서드 설명
send($account, $to, $subject, $body, $contentType, $attachments, $cc, $bcc)
: 이메일 전송sendAndSave($folder, $account, $to, $subject, $body, $contentType, $attachments, $cc, $bcc)
: 이메일 전송 및 지정 폴더(Sent
)에 저장$contentType
기본값:text/html
,$attachments
는 파일 경로 배열 형식
4. 테스트 및 검증
- 브라우저에서
/testemail/send
,/testemail/send-attachment
,/testemail/send-save
경로로 이메일 전송 테스트 print_r($result, true)
로 전송 결과 확인
결론
- SMTP/IMAP 설정과 Email::sendAndSave() 메서드를 통해 이메일 전송 및 발신함 저장 기능 구현
/testemail/send-save
경로에서 첨부파일 포함 이메일 전송 테스트 필수- DotApp 프레임워크의
Emailer
라이브러리 활용 시Config::email()
설정과Email
클래스 사용이 핵심