Mail SMTP를 활용하여 메일 및 첨부파일을 발송하는 방법을 안내합니다.

확인해 주세요

manager 에서 '외부 SMTP' 기능을 활성화하지 않은 경우 (Local 서버에서 메일 발송하는 경우)
서버에서 SMTP Port를 지원해야 합니다.

사용 준비

Mail을 사용하기 위해선 아래와 같이 Controller 최상단에 use 가 선언 되어야 합니다.
Controller /app/test.php
<?php
use Make\Library\Mail;
Mail을 수행하기 위해 새로운 인스턴스를 생성합니다.
Controller /app/test.php
<?php
use Make\Library\Mail;

...

$mail = new Mail();

Mail 발송 설정

아래 예시와 같이 Mail 발송을 위해 발송 옵션을 설정합니다.
From 및 Template 정보는 manager 에서 설정한 정보가 자동 반영되지만 아래 예시와 같이 직접 지정할 수도 있습니다.
또한, 수신자는 여러명 지정할 수 있습니다.
Controller /app/test.php
<?php
use Make\Library\Mail;

...

$mail = new Mail();

$mail->set(
    array(
        'tpl' => 'test_template', //본문 Template 지정
        'from' => array(
            'name' => 'Admin', //발신자 이름
            'email' => 'fromemail@zigger.net' //발신자 E-mail
        ),
        'to' => array(
            [
                'name' => 'Foo', //수신자 이름
                'email' => 'toemail@testdomain.com' //수신자 E-mail
            ],
            [
                'name' => 'Tom', //수신자 이름
                'email' => 'toemail2@testdomain.com' //수신자 E-mail
            ]
        ),
        'subject' => 'Test Email', //메일 제목
        'memo' => 'Hello Foo!' //메일 본문
    )
);
Option 설명 기본값
tpl (optional) manager 에서 생성한 메일 본문 템플릿 지정 default
from.name(optional) 발신자 email manager 에서 설정한 사이트명
from.email(optional) 발신자 email manager 에서 설정한 관리자 E-mail
to.name(optional) 수신자 이름
to.email 수신자 email
subject 메일 제목 설정
memo 메일 본문 설정

첨부파일이 포함된 Mail 발송 설정

서버에 저장된 특정 파일을 Mail에 첨부하여 발송하는 방법을 안내합니다.
파일은 다중 첨부 가능하며, 최대 첨부파일 용량은 STMP 서버의 환경 설정 값을 따릅니다.
Controller /app/test.php
<?php
use Make\Library\Mail;

...

$mail = new Mail();

$mail->set(
    array(
        'tpl' => 'test_template', //본문 Template 지정
        'from' => array(
            'name' => 'Admin', //발신자 이름
            'email' => 'fromemail@zigger.net' //발신자 E-mail
        ),
        'to' => array(
            [
                'name' => 'Foo', //수신자 이름
                'email' => 'toemail@testdomain.com' //수신자 E-mail
            ],
            [
                'name' => 'Tom', //수신자 이름
                'email' => 'toemail2@testdomain.com' //수신자 E-mail
            ]
        ),
        'subject' => 'Test Email', //메일 제목
        'memo' => 'Hello Foo!', //메일 본문
        'attach' => array(
            [
                'path' => PH_DATA_PATH.'/emailAttach/origin_filename.zip', //서버에 저장된 파일 경로
                'name' => 'attach_name.zip' //메일 본문에 노출될 파일 이름
            ]
        )
    )
);
Option 설명 기본값
attach.path (optional) 서버에 저장된 파일 경로 지정 (메일에 첨부할 원본 파일)
attach.name (optional) 메일에 노출될 첨부파일명 설정

Mail 발송 수행

send() 로 메일 발송을 수행합니다.
Controller /app/test.php
<?php
use Make\Library\Mail;

...

$mail = new Mail();

$mail->set(
    array(
        'tpl' => 'test_template', //본문 Template 지정
        'from' => array(
            'name' => 'Admin', //발신자 이름
            'email' => 'fromemail@zigger.net' //발신자 E-mail
        ),
        'to' => array(
            [
                'name' => 'Foo', //수신자 이름
                'email' => 'toemail@testdomain.com' //수신자 E-mail
            ],
            [
                'name' => 'Tom', //수신자 이름
                'email' => 'toemail2@testdomain.com' //수신자 E-mail
            ]
        ),
        'subject' => 'Test Email', //메일 제목
        'memo' => 'Hello Foo!', //메일 본문
        'attach' => array(
            [
                'path' => PH_DATA_PATH.'/emailAttach/origin_filename.zip', //서버에 저장된 파일 경로
                'name' => 'attach_name.zip' //메일 본문에 노출될 파일 이름
            ]
        )
    )
);
$mail->send();