기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SES API 및 AWS SDK for PHP 버전 3을 사용하여 사용자 지정 이메일 템플릿 생성
Amazon Simple Email Service (Amazon SES)를 통해 템플릿을 사용하여 각 수신자에 대해 맞춤화된 이메일을 전송할 수 있습니다. 템플릿에는 제목 줄과 이메일 본문의 텍스트 및 HTML 부분이 포함됩니다. 제목과 본문 섹션에는 각 수신자에 대해 맞춤화된 고유 값이 포함될 수도 있습니다.
자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES를 사용하여 개인화된 이메일 전송을 참조하세요.
다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.
-
를 사용하여 이메일 템플릿을 생성합니다 CreateTemplate.
-
를 사용하여 모든 이메일 템플릿을 ListTemplates나열합니다.
-
를 사용하여 이메일 템플릿을 GetTemplate검색하십시오.
-
를 사용하여 이메일 템플릿을 UpdateTemplate업데이트하십시오.
-
를 사용하여 이메일 템플릿을 제거합니다 DeleteTemplate.
-
를 사용하여 SendTemplatedEmail템플릿이 포함된 이메일을 보내십시오.
의 모든 예제 코드는 여기에서 확인할 GitHub
보안 인증 정보
예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.
Amazon SES 사용에 대한 자세한 내용은 Amazon SES 개발자 안내서를 참조하세요.
이메일 템플릿 생성
개인화된 이메일 메시지를 보낼 템플릿을 만들려면 CreateTemplate작업을 사용하십시오. 템플릿은 해당 템플릿이 추가된 AWS 리전에서 메시지를 보낼 권한이 있는 계정이 사용할 수 있습니다.
참고
Amazon SES는 HTML을 검증하지 않으므로 이메일을 보내기 전에 HtmlPartHTML이 유효한지 확인하십시오.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>' . '<p>This email was sent with <a href="https://aws.amazon.com/ses/">' . 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">' . 'AWS SDK for PHP</a>.</p>'; $subject = 'Amazon SES test (AWS SDK for PHP)'; $plaintext_body = 'This email was send with Amazon SES using the AWS SDK for PHP.'; try { $result = $SesClient->createTemplate([ 'Template' => [ 'HtmlPart' => $html_body, 'SubjectPart' => $subject, 'TemplateName' => $name, 'TextPart' => $plaintext_body, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
이메일 템플릿 가져오기
제목 줄, HTML 본문, 일반 텍스트를 포함한 기존 이메일 템플릿의 콘텐츠를 보려면 GetTemplate작업을 사용하십시오. 필수 항목만 TemplateName 필요합니다.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; try { $result = $SesClient->getTemplate([ 'TemplateName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
모든 이메일 템플릿 나열
현재 AWS 지역에서 사용자와 연결된 모든 이메일 템플릿 목록을 검색하려면 ListTemplates작업을 사용하십시오. AWS 계정
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listTemplates([ 'MaxItems' => 10, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
이메일 템플릿 업데이트
제목 줄, HTML 본문, 일반 텍스트 등 특정 이메일 템플릿의 콘텐츠를 변경하려면 UpdateTemplate작업을 사용하십시오.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>' . '<p>This email was sent with <a href="https://aws.amazon.com/ses/">' . 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">' . 'AWS SDK for PHP</a>.</p>'; $subject = 'Amazon SES test (AWS SDK for PHP)'; $plaintext_body = 'This email was send with Amazon SES using the AWS SDK for PHP.'; try { $result = $SesClient->updateTemplate([ 'Template' => [ 'HtmlPart' => $html_body, 'SubjectPart' => $subject, 'TemplateName' => $name, 'TextPart' => $plaintext_body, ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
이메일 템플릿 삭제
특정 이메일 템플릿을 제거하려면 DeleteTemplate작업을 사용합니다. 필요한 것은 뿐입니다 TemplateName.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Template_Name'; try { $result = $SesClient->deleteTemplate([ 'TemplateName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
템플릿이 있는 이메일 전송
템플릿을 사용하여 수신자에게 이메일을 보내려면 SendTemplatedEmail작업을 사용합니다.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $template_name = 'Template_Name'; $sender_email = 'email_address'; $recipient_emails = ['email_address']; try { $result = $SesClient->sendTemplatedEmail([ 'Destination' => [ 'ToAddresses' => $recipient_emails, ], 'ReplyToAddresses' => [$sender_email], 'Source' => $sender_email, 'Template' => $template_name, 'TemplateData' => '{ }' ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }