기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SES API 및 AWS SDK for PHP 버전 3을 사용하여 이메일 규칙 생성 및 관리
이메일을 보내는 것 외에도 Amazon Simple Email Service (Amazon SES)를 사용하여 이메일을 수신할 수 있습니다. 수신 규칙을 사용하면 사용자 소유의 이메일 주소 또는 도메인으로 수신되는 이메일에 대한 Amazon SES의 처리 방법을 지정할 수 있습니다. 규칙은 Amazon S3, Amazon SNS, AWS Lambda 등 다른 AWS 서비스로 이메일을 보낼 수 있습니다.
자세한 내용은 Amazon SES 이메일 수신을 위한 수신 규칙 세트 관리하기 및 Amazon SES 이메일 수신을 위한 수신 규칙 관리하기를 참조하세요.
다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.
-
를 사용하여 수신 규칙 세트를 생성합니다 CreateReceiptRuleSet.
-
를 사용하여 수신 규칙을 생성합니다 CreateReceiptRule.
-
를 사용하여 수신 규칙 세트를 DescribeReceiptRuleSet설명하십시오.
-
를 사용하여 수신 규칙을 DescribeReceiptRule설명하십시오.
-
를 사용하여 모든 수신 규칙 세트를 ListReceiptRuleSets나열하십시오.
-
를 사용하여 수신 규칙을 UpdateReceiptRule업데이트하십시오.
-
를 사용하여 수신 규칙을 제거합니다 DeleteReceiptRule.
-
를 사용하여 수신 규칙 세트를 제거합니다 DeleteReceiptRuleSet.
의 모든 예제 코드는 여기에서 확인할
보안 인증 정보
예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.
Amazon SES 사용에 대한 자세한 내용은 Amazon SES 개발자 안내서를 참조하세요.
수신 규칙 세트 생성
수신 규칙 세트에는 수신 규칙 모음이 포함되어 있습니다. 수신 규칙을 만들려면 계정과 연결된 수신 규칙 세트가 하나 이상 있어야 합니다. 수신 규칙 세트를 생성하려면 고유한 규칙을 RuleSetName 입력하고 CreateReceiptRuleSet작업을 사용하십시오.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->createReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 생성
기존의 수신 규칙 세트에 수신 규칙을 추가하여 수신 이메일을 제어합니다. 다음 예제에서는 Amazon S3 버킷에 수신 메시지를 보내는 수신 규칙을 만드는 방법을 보여 주지만, Amazon SNS 및 AWS Lambda에 메시지를 보낼 수도 있습니다. 수신 규칙을 생성하려면 CreateReceiptRule작업에 규칙과 규칙을 제공하십시오. RuleSetName
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; $s3_bucket = 'Bucket_Name'; try { $result = $SesClient->createReceiptRule([ 'Rule' => [ 'Actions' => [ [ 'S3Action' => [ 'BucketName' => $s3_bucket, ], ], ], 'Name' => $rule_name, 'ScanEnabled' => true, 'TlsPolicy' => 'Optional', 'Recipients' => ['<string>'] ], 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 세트 설명
초당 한 번 지정된 수신 규칙 세트의 세부 정보를 반환합니다. DescribeReceiptRuleSet작업을 사용하려면 를 입력하십시오 RuleSetName.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->describeReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 설명
지정된 수신 규칙의 세부 정보를 반환합니다. DescribeReceiptRule작업을 사용하려면 RuleName 및 를 입력합니다 RuleSetName.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; try { $result = $SesClient->describeReceiptRule([ 'RuleName' => $rule_name, 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
모든 수신 규칙 세트 나열
현재 AWS 계정 AWS 지역의 귀사에 속하는 수신 규칙 세트를 나열하려면 ListReceiptRuleSets작업을 사용하십시오.
가져오기
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->listReceiptRuleSets(); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 업데이트
다음 예제에서는 AWS Lambda 함수에 수신 메시지를 보내는 수신 규칙을 업데이트하는 방법을 보여 주지만, Amazon SNS 및 Amazon S3에 메시지를 보낼 수도 있습니다. UpdateReceiptRule작업을 사용하려면 새 수신 규칙과 를 입력하십시오 RuleSetName.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; $lambda_arn = 'Amazon Resource Name (ARN) of the AWS Lambda function'; $sns_topic_arn = 'Amazon Resource Name (ARN) of the Amazon SNS topic'; try { $result = $SesClient->updateReceiptRule([ 'Rule' => [ 'Actions' => [ 'LambdaAction' => [ 'FunctionArn' => $lambda_arn, 'TopicArn' => $sns_topic_arn, ], ], 'Enabled' => true, 'Name' => $rule_name, 'ScanEnabled' => false, 'TlsPolicy' => 'Require', ], 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 세트 삭제
현재 비활성화되지 않은 지정된 수신 규칙 세트를 제거합니다. 그러면 수신 규칙 세트에 포함된 모든 수신 규칙도 삭제됩니다. 수신 규칙 세트를 삭제하려면 DeleteReceiptRuleSet작업에 RuleSetName 를 제공하십시오.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $name = 'Rule_Set_Name'; try { $result = $SesClient->deleteReceiptRuleSet([ 'RuleSetName' => $name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
수신 규칙 삭제
지정된 수신 규칙을 삭제하려면 DeleteReceiptRule작업에 RuleName 및 RuleSetName 를 제공하십시오.
가져오기
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
샘플 코드
$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $rule_name = 'Rule_Name'; $rule_set_name = 'Rule_Set_Name'; try { $result = $SesClient->deleteReceiptRule([ 'RuleName' => $rule_name, 'RuleSetName' => $rule_set_name, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }