Amazon SES API 및 AWS SDK for PHP 버전 3을 사용하여 이메일 보안 인증 확인 - AWS SDK for PHP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES API 및 AWS SDK for PHP 버전 3을 사용하여 이메일 보안 인증 확인

Amazon Simple Email Service (Amazon SES) 계정 사용을 처음 시작할 때 이메일을 보내려는 AWS 리전과 동일한 리전에서 모든 발신자와 수신자를 확인해야 합니다. 이메일 전송에 대한 자세한 내용은 Amazon SES를 통해 이메일 전송을 참조하세요.

다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.

의 모든 예제 코드는 여기에서 확인할 수 GitHub 있습니다. AWS SDK for PHP

보안 인증 정보

예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.

Amazon SES 사용에 대한 자세한 내용은 Amazon SES 개발자 안내서를 참조하세요.

이메일 주소 확인

Amazon SES는 확인된 이메일 주소 또는 도메인에서만 이메일을 보낼 수 있습니다. 이메일 주소를 확인하여 해당 주소의 소유자이고 Amazon SES가 해당 주소에서 이메일을 보낼 수 있도록 하고자 함을 입증합니다.

다음 코드 예제를 실행하면 Amazon SES가 지정한 주소로 이메일을 보냅니다. 사용자(또는 이메일 수신자)가 이메일의 링크를 클릭하면 주소가 확인됩니다.

Amazon SES 계정에 이메일 주소를 추가하려면 VerifyEmailIdentity작업을 사용하십시오.

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

샘플 코드

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->verifyEmailIdentity([ 'EmailAddress' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

이메일 도메인 확인

Amazon SES는 확인된 이메일 주소 또는 도메인에서만 이메일을 보낼 수 있습니다. 도메인을 확인하여 해당 도메인의 소유자임을 입증합니다. 도메인을 확인하면 Amazon SES가 해당 도메인의 어떤 주소에서든 이메일을 보낼 수 있습니다.

다음 코드 예제를 실행하면 Amazon SES가 확인 토큰을 제공합니다. 도메인의 DNS 구성에 토큰을 추가해야 합니다. 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES에서 도메인 확인을 참조하세요.

Amazon SES 계정에 전송 도메인을 추가하려면 VerifyDomainIdentity작업을 사용하십시오.

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

샘플 코드

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->verifyDomainIdentity([ 'Domain' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

이메일 주소 나열

확인 상태와 상관없이 현재 AWS 지역에서 제출된 이메일 주소 목록을 검색하려면 ListIdentities작업을 사용하십시오.

가져오기

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->listIdentities([ 'IdentityType' => 'EmailAddress', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

이메일 도메인 나열

현재 AWS 지역에서 제출된 이메일 도메인 목록을 검색하려면 확인 상태와 상관없이 ListIdentities작업을 사용하십시오.

가져오기

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->listIdentities([ 'IdentityType' => 'Domain', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

이메일 주소 삭제

ID 목록에서 확인된 이메일 주소를 삭제하려면 DeleteIdentity작업을 사용하십시오.

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

샘플 코드

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

이메일 도메인 삭제

확인된 ID 목록에서 확인된 이메일 도메인을 삭제하려면 작업을 사용합니다. DeleteIdentity

가져오기

require 'vendor/autoload.php'; use Aws\Exception\AwsException;

샘플 코드

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }