

# AWS CLI を使用する Amazon SES の例
<a name="cli_ses_code_examples"></a>

次のコード例は、Amazon SES で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `delete-identity`
<a name="ses_DeleteIdentity_cli_topic"></a>

次のコード例は、`delete-identity` を使用する方法を示しています。

**AWS CLI**  
**ID を削除するには**  
次の例では、`delete-identity` コマンドを使用して Amazon SES で検証された ID のリストから ID を削除します。  

```
aws ses delete-identity --identity user@example.com
```
検証済み ID の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスとドメインの検証」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DeleteIdentity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/delete-identity.html)」を参照してください。

### `get-identity-dkim-attributes`
<a name="ses_GetIdentityDkimAttributes_cli_topic"></a>

次のコード例は、`get-identity-dkim-attributes` を使用する方法を示しています。

**AWS CLI**  
**ID のリストの Amazon SES Easy DKIM 属性を取得するには**  
次の例では、`get-identity-dkim-attributes` コマンドを使用して ID リストの Amazon SES Easy DKIM 属性を取得します。  

```
aws ses get-identity-dkim-attributes --identities "example.com" "user@example.com"
```
出力:  

```
{
   "DkimAttributes": {
       "example.com": {
           "DkimTokens": [
               "EXAMPLEjcs5xoyqytjsotsijas7236gr",
               "EXAMPLEjr76cvoc6mysspnioorxsn6ep",
               "EXAMPLEkbmkqkhlm2lyz77ppkulerm4k"
           ],
           "DkimEnabled": true,
           "DkimVerificationStatus": "Success"
       },
       "user@example.com": {
           "DkimEnabled": false,
           "DkimVerificationStatus": "NotStarted"
       }
   }
}
```
検証のために、送信したことがない ID を使用してこのコマンドを呼び出した場合、その ID は出力に表示されません。  
Easy DKIM の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Easy DKIM in Amazon SES」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetIdentityDkimAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/get-identity-dkim-attributes.html)」を参照してください。

### `get-identity-notification-attributes`
<a name="ses_GetIdentityNotificationAttributes_cli_topic"></a>

次のコード例は、`get-identity-notification-attributes` を使用する方法を示しています。

**AWS CLI**  
**ID リストの Amazon SES 通知属性を取得するには**  
次の例では、`get-identity-notification-attributes` コマンドを使用して ID リストの Amazon SES 通知属性を取得します。  

```
aws ses get-identity-notification-attributes --identities "user1@example.com" "user2@example.com"
```
出力:  

```
{
   "NotificationAttributes": {
       "user1@example.com": {
           "ForwardingEnabled": false,
           "ComplaintTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic",
           "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic",
           "DeliveryTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic"
       },
       "user2@example.com": {
           "ForwardingEnabled": true
       }
   }
}
```
このコマンドは、E メールフィードバック転送のステータスと、該当する場合は、バウンス、苦情、配信通知が送信される Amazon SNS トピックの Amazon リソースネーム (ARN) を返します。  
検証のために、送信したことがない ID を使用してこのコマンドを呼び出した場合、その ID は出力に表示されません。  
通知の詳細については、「Amazon Simple Email Service デベロッパーガイド」の「*Amazon SES で通知を使用する*」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetIdentityNotificationAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/get-identity-notification-attributes.html)」を参照してください。

### `get-identity-verification-attributes`
<a name="ses_GetIdentityVerificationAttributes_cli_topic"></a>

次のコード例は、`get-identity-verification-attributes` を使用する方法を示しています。

**AWS CLI**  
**ID リストの Amazon SES 検証ステータスを取得するには**  
次の例では、`get-identity-verification-attributes` コマンドを使用して ID リストの Amazon SES 検証ステータスを取得します。  

```
aws ses get-identity-verification-attributes --identities "user1@example.com" "user2@example.com"
```
出力:  

```
{
   "VerificationAttributes": {
       "user1@example.com": {
           "VerificationStatus": "Success"
       },
       "user2@example.com": {
           "VerificationStatus": "Pending"
       }
   }
}
```
検証のために、送信したことがない ID を使用してこのコマンドを呼び出した場合、その ID は出力に表示されません。  
検証済み ID の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスとドメインの検証」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetIdentityVerificationAttributes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/get-identity-verification-attributes.html)」を参照してください。

### `get-send-quota`
<a name="ses_GetSendQuota_cli_topic"></a>

次のコード例は、`get-send-quota` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES 送信制限を取得するには**  
次の例では、`get-send-quota` コマンドを使用して Amazon SES の送信制限を返します。  

```
aws ses get-send-quota
```
出力:  

```
{
   "Max24HourSend": 200.0,
   "SentLast24Hours": 1.0,
   "MaxSendRate": 1.0
}
```
Max24HourSend は送信クォータで、24 時間あたりに送信できる E メールの最大数です。送信クォータには、期間の推移が反映されます。E メールを送信しようとするたびに、Amazon SES は直近 24 時間内に送信された E メールの件数をチェックします。送信済みのメールの合計数がクォータ未満であれば、送信リクエストは受理され、E メールが送信されます。  
SentLast24Hours は、過去 24 時間以内に送信した E メールの数です。  
MaxSendRate は、1 秒あたりに送信できる E メールの最大数です。  
送信制限は、メッセージ数ではなく、受取人数に基づいていることに注意してください。例えば、受取人数が 10 人である E メールは、送信クォータに対しては 10 通とカウントされます。  
詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES 送信制限の管理」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetSendQuota](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/get-send-quota.html)」を参照してください。

### `get-send-statistics`
<a name="ses_GetSendStatistics_cli_topic"></a>

次のコード例は、`get-send-statistics` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES 統計の送信を取得するには**  
次の例では、`get-send-statistics` コマンドを使用して Amazon SES の統計の送信を返します。  

```
aws ses get-send-statistics
```
出力:  

```
{
   "SendDataPoints": [
       {
           "Complaints": 0,
           "Timestamp": "2013-06-12T19:32:00Z",
           "DeliveryAttempts": 2,
           "Bounces": 0,
           "Rejects": 0
       },
       {
           "Complaints": 0,
           "Timestamp": "2013-06-12T00:47:00Z",
           "DeliveryAttempts": 1,
           "Bounces": 0,
           "Rejects": 0
       }
   ]
}
```
結果は、送信アクティビティの最新の 2 週間を示すデータポイントのリストです。このリスト内の各データポイントには、15 分間隔の統計が含まれます。  
この例では、過去 2 週間にユーザーが送信した E メールが 15 分間隔で 2 件のみだったため、データポイントは 2 つしかありません。  
詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES 使用状況統計のモニタリング」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetSendStatistics](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/get-send-statistics.html)」を参照してください。

### `list-identities`
<a name="ses_ListIdentities_cli_topic"></a>

次のコード例は、`list-identities` を使用する方法を示しています。

**AWS CLI**  
**特定の AWS アカウントのすべての ID (E メールアドレスとドメイン) を一覧表示するには**  
次の例では、`list-identities` コマンドを使用して、Amazon SES で検証のために送信されたすべての ID を一覧表示します。  

```
aws ses list-identities
```
出力:  

```
{
    "Identities": [
      "user@example.com",
      "example.com"
    ]
}
```
返されるリストには、検証ステータス (検証済み、検証保留中、失敗など) に関係なく、すべての ID が含まれます。  
この例では、identity-type パラメータを指定しなかったため、E メールアドレス*および*ドメインが返されます。  
検証の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスとドメインの検証」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListIdentities](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/list-identities.html)」を参照してください。

### `send-email`
<a name="ses_SendEmail_cli_topic"></a>

次のコード例は、`send-email` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES を使用してフォーマット済み E メールを送信するには**  
以下の例では、`send-email` コマンドを使用してフォーマットされた E メールを送信しています。  

```
aws ses send-email --from sender@example.com --destination file://destination.json --message file://message.json
```
出力:  

```
{
   "MessageId": "EXAMPLEf3a5efcd1-51adec81-d2a4-4e3f-9fe2-5d85c1b23783-000000"
}
```
送信先とメッセージは、現在のディレクトリで.json ファイルに保存される JSON データ構造です。これらのファイルは以下のとおりです。  
`destination.json`:  

```
{
  "ToAddresses":  ["recipient1@example.com", "recipient2@example.com"],
  "CcAddresses":  ["recipient3@example.com"],
  "BccAddresses": []
}
```
`message.json`:  

```
{
   "Subject": {
       "Data": "Test email sent using the AWS CLI",
       "Charset": "UTF-8"
   },
   "Body": {
       "Text": {
           "Data": "This is the message body in text format.",
           "Charset": "UTF-8"
       },
       "Html": {
           "Data": "This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>.",
           "Charset": "UTF-8"
       }
   }
}
```
送信者と受信者の E メールアドレスを、使用したい E メールアドレスに置き換えます。送信者の E メールアドレスは、Amazon SES で検証される必要があることに注意してください。Amazon SES への本稼働アクセスが許可されるまでは、受信者が Amazon SES メールボックスシミュレーターでない限り、各受信者の E メールアドレスも検証する必要があります。検証の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスとドメインの検証」を参照してください。  
出力のメッセージ ID は、send-email の呼び出しが成功したことを示しています。  
E メールが届かない場合は、迷惑メールフォルダを確認してください。  
フォーマット済み E メールの送信の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES API を使用してフォーマット済み E メールを送信する」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[SendEmail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/send-email.html)」を参照してください。

### `send-raw-email`
<a name="ses_SendRawEmail_cli_topic"></a>

次のコード例は、`send-raw-email` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES を使用して raw E メールを送信するには**  
以下の例では、`send-raw-email` コマンドを使用して TXT 添付ファイルを含む E メールを送信しています。  

```
aws ses send-raw-email --raw-message file://message.json
```
出力:  

```
{
   "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000"
}
```
raw メッセージは、現在のディレクトリで `message.json` という名前のファイルに保存される JSON データ構造です。以下の要素が含まれます。  

```
{
   "Data": "From: sender@example.com\nTo: recipient@example.com\nSubject: Test email sent using the AWS CLI (contains an attachment)\nMIME-Version: 1.0\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\n\n--NextPart\nContent-Type: text/plain\n\nThis is the message body.\n\n--NextPart\nContent-Type: text/plain;\nContent-Disposition: attachment; filename=\"attachment.txt\"\n\nThis is the text in the attachment.\n\n--NextPart--"
}
```
おわかりのように、「Data」は attachment.txt という添付ファイルを含む、MIME 形式の raw E メールコンテンツ全体が含まれた 1 つの長い文字列です。  
sender@example.com と recipient@example.com は、使用するアドレスに置き換えてください。送信者の E メールアドレスは、Amazon SES で検証される必要があることに注意してください。Amazon SES への本稼働アクセスが許可されるまでは、受信者が Amazon SES メールボックスシミュレーターである場合を除き、受信者の E メールアドレスも検証する必要があります。検証の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスとドメインの検証」を参照してください。  
出力のメッセージ ID は、send-raw-email の呼び出しが成功したことを示しています。  
E メールが届かない場合は、迷惑メールフォルダを確認してください。  
raw E メールの送信の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Sending raw email using the Amazon SES API」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[SendRawEmail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/send-raw-email.html)」を参照してください。

### `set-identity-dkim-enabled`
<a name="ses_SetIdentityDkimEnabled_cli_topic"></a>

次のコード例は、`set-identity-dkim-enabled` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES 検証済み ID の Easy DKIM を有効または無効にするには**  
次の例では、`set-identity-dkim-enabled` コマンドを使用して検証済み E メールアドレスの DKIM を無効にします。  

```
aws ses set-identity-dkim-enabled --identity user@example.com --no-dkim-enabled
```
Easy DKIM の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Easy DKIM in Amazon SES」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[SetIdentityDkimEnabled](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/set-identity-dkim-enabled.html)」を参照してください。

### `set-identity-feedback-forwarding-enabled`
<a name="ses_SetIdentityFeedbackForwardingEnabled_cli_topic"></a>

次のコード例は、`set-identity-feedback-forwarding-enabled` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES 検証済み ID のバウンスと苦情の E メールフィードバック転送を有効または無効にするには**  
次の例では、`set-identity-feedback-forwarding-enabled` コマンドを使用して、検証済みの E メールアドレスが E メールでバウンスと苦情の通知を受信できるようにします。  

```
aws ses set-identity-feedback-forwarding-enabled --identity user@example.com --forwarding-enabled
```
Amazon SNS または E メールフィードバック転送を介してバウンス通知と苦情通知を受け取る必要があるため、バウンス通知と苦情通知の両方の Amazon SNS トピックを選択した場合のみ、E メールフィードバック転送を無効にすることができます。  
通知の詳細については、「Amazon Simple Email Service デベロッパーガイド」の「*Amazon SES で通知を使用する*」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[SetIdentityFeedbackForwardingEnabled](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/set-identity-feedback-forwarding-enabled.html)」を参照してください。

### `set-identity-notification-topic`
<a name="ses_SetIdentityNotificationTopic_cli_topic"></a>

次のコード例は、`set-identity-notification-topic` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES が検証済み ID のバウンス、苦情、配信通知を発行する Amazon SES トピックを設定するには**  
次の例では、`set-identity-notification-topic` コマンドを使用して、検証済みの E メールアドレスがバウンス通知を受信する Amazon SNS トピックを指定します。  

```
aws ses set-identity-notification-topic --identity user@example.com --notification-type Bounce --sns-topic arn:aws:sns:us-east-1:EXAMPLE65304:MyTopic
```
通知の詳細については、「Amazon Simple Email Service デベロッパーガイド」の「*Amazon SES で通知を使用する*」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[SetIdentityNotificationTopic](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/set-identity-notification-topic.html)」を参照してください。

### `verify-domain-dkim`
<a name="ses_VerifyDomainDkim_cli_topic"></a>

次のコード例は、`verify-domain-dkim` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES を使用した DKIM 署名の検証済みドメインの DKIM トークンを生成するには**  
次の例では、`verify-domain-dkim` コマンドを使用して、Amazon SES で検証されたドメインの DKIM トークンを生成します。  

```
aws ses verify-domain-dkim --domain example.com
```
出力:  

```
{
   "DkimTokens": [
       "EXAMPLEq76owjnks3lnluwg65scbemvw",
       "EXAMPLEi3dnsj67hstzaj673klariwx2",
       "EXAMPLEwfbtcukvimehexktmdtaz6naj"
   ]
}
```
DKIM を設定するには、返された DKIM トークンを使用して、Amazon SES がホストする DKIM パブリックキーを指す CNAME レコードでドメインの DNS 設定を更新する必要があります。詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Easy DKIM in Amazon SES」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[VerifyDomainDkim](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/verify-domain-dkim.html)」を参照してください。

### `verify-domain-identity`
<a name="ses_VerifyDomainIdentity_cli_topic"></a>

次のコード例は、`verify-domain-identity` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES でドメインを検証するには**  
以下の例では、`verify-domain-identity` コマンドを使用してドメインを認証しています。  

```
aws ses verify-domain-identity --domain example.com
```
出力:  

```
{
   "VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE"
}
```
ドメイン検証を完了するには、返された検証トークンと共に、TXT レコードをドメインの DNS 設定に追加する必要があります。詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES でのドメインの検証」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[VerifyDomainIdentity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/verify-domain-identity.html)」を参照してください。

### `verify-email-identity`
<a name="ses_VerifyEmailIdentity_cli_topic"></a>

次のコード例は、`verify-email-identity` を使用する方法を示しています。

**AWS CLI**  
**Amazon SES で E メールアドレスを検証するには**  
以下の例では、`verify-email-identity` コマンドを使用して E メールアドレスを認証しています。  

```
aws ses verify-email-identity --email-address user@example.com
```
Amazon SES を使用してメールを送信する前に、E メールの送信元となるアドレスまたはドメインを所有していることを証明するために、そのアドレスまたはドメインを検証する必要があります。まだ本稼働アクセス権を持っていない場合は、Amazon SES メールボックスシミュレーターから提供された E メールアドレスを除いて、すべての送信先の E メールアドレスも検証する必要があります。  
verify-email-identity が呼び出されると、その E メールアドレスに検証 E メールが届きます。ユーザーは、E メールのリンクをクリックして、検証プロセスを完了する必要があります。  
詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「Amazon SES での E メールアドレスの検証」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[VerifyEmailIdentity](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ses/verify-email-identity.html)」を参照してください。