

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

# Amazon SES API 및 AWS SDK for PHP 버전 3을 사용하여 이메일 보안 인증 확인
<a name="ses-verify"></a>

Amazon Simple Email Service (Amazon SES) 계정 사용을 처음 시작할 때 이메일을 보내려는 AWS 리전과 동일한 리전에서 모든 발신자와 수신자를 확인해야 합니다. 이메일 전송에 대한 자세한 내용은 [Amazon SES를 통해 이메일 전송](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-email.html)을 참조하세요.

다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.
+ [VerifyEmailIdentity](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#verifyemailidentity)를 사용하여 이메일 주소 확인
+ [VerifyDomainIdentity](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#verifydomainidentity)를 사용하여 이메일 도메인 확인
+ [ListIdentities](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listidentities)를 사용하여 모든 이메일 주소 나열
+ [ListIdentities](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listidentities)를 사용하여 모든 이메일 도메인 나열
+ [DeleteIdentity](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deleteidentity)를 사용하여 이메일 주소 제거
+ [DeleteIdentity](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deleteidentity)를 사용하여 이메일 도메인 제거

AWS SDK for PHP에 대한 모든 예제 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)에서 사용할 수 있습니다.

## 보안 인증 정보
<a name="examplecredentials"></a>

예제 코드를 실행하기 전에 [AWS SDK for PHP 버전 3을 AWS 사용하여 로 인증](credentials.md)에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 [AWS SDK for PHP 버전 3 설치](getting-started_installation.md)에 설명된 대로 AWS SDK for PHP를 가져옵니다.

Amazon SES 사용에 대한 자세한 내용은 [Amazon SES 개발자 안내서](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/)를 참조하세요.

## 이메일 주소 확인
<a name="verifying-email-addresses"></a>

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

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

Amazon SES 계정에 이메일 주소를 추가하려면 [VerifyEmailIdentity](https://docs.aws.amazon.com/ses/latest/APIReference/API_VerifyEmailIdentity.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```

## 이메일 도메인 확인
<a name="verify-an-email-domain"></a>

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

다음 코드 예제를 실행하면 Amazon SES가 확인 토큰을 제공합니다. 도메인의 DNS 구성에 토큰을 추가해야 합니다. 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 [Amazon SES에서 도메인 확인](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domain-procedure.html)을 참조하세요.

Amazon SES 계정에 전송 도메인을 추가하려면 [VerifyDomainIdentity](https://docs.aws.amazon.com/ses/latest/APIReference/API_VerifyDomainIdentity.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```

## 이메일 주소 나열
<a name="list-email-addresses"></a>

확인 상태와 관계없이 현재 AWS 리전에 제출된 이메일 주소 목록을 검색하려면 [ListIdentities](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListIdentities.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```

## 이메일 도메인 나열
<a name="list-email-domains"></a>

확인 상태와 관계없이 현재 AWS 리전에 제출된 이메일 도메인 목록을 검색하려면 [ListIdentities](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListIdentities.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```

## 이메일 주소 삭제
<a name="delete-an-email-address"></a>

보안 인증 목록에서 확인된 이메일 주소를 삭제하려면 [DeleteIdentity](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteIdentity.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```

## 이메일 도메인 삭제
<a name="delete-an-email-domain"></a>

확인된 보안 인증 목록에서 확인된 이메일 도메인을 삭제하려면 [DeleteIdentity](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteIdentity.html) 작업을 사용합니다.

 **가져옵니다**.

```
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";
}
```