

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criação de modelos personalizados de e-mail usando a API do Amazon SES e o AWS SDK para PHP versão 3
<a name="ses-template"></a>

O Amazon Simple Email Service (Amazon SES) permite o envio de e-mails personalizados para cada destinatário por meio de modelos. Os modelos incluem uma linha de assunto e as partes em texto e HTML do corpo de e-mail. É possível que as seções de assunto e corpo também contenham valores exclusivos e personalizados para cada destinatário.

Para obter mais informações, consulte [Enviar e-mail personalizado usando o Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html) no Guia do desenvolvedor do Amazon Simple Email Service.

Os exemplos a seguir mostram como:
+ Crie um modelo de e-mail com o [CreateTemplate](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#createtemplate).
+ Liste todos os modelos de e-mail com o [ListTemplates](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#listtemplates).
+ Recupere um modelo de e-mail com o [GetTemplate](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#gettemplate).
+ Atualize um modelo de e-mail com o [UpdateTemplate](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#updateTemplate).
+ Exclua um modelo de e-mail com o [DeleteTemplate](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#deletetemplate).
+ Envie um e-mail em modelo com o [SendTemplatedEmail](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-email-2010-12-01.html#sendtemplatedemail).

O código de exemplo completo do AWS SDK para PHP está disponível [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Credenciais
<a name="examplecredentials"></a>

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em [Autenticando com o AWS uso da AWS SDK para PHP versão 3](credentials.md). Em seguida, importe o AWS SDK para PHP, conforme descrito em [Instalando a AWS SDK para PHP versão 3](getting-started_installation.md).

Para obter mais informações sobre o uso do Amazon SES, consulte o [Guia do desenvolvedor do Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/).

## Criar um modelo de e-mail
<a name="create-an-email-template"></a>

Para criar um modelo e enviar mensagens de e-mail personalizadas, utilize a operação [CreateTemplate](https://docs.aws.amazon.com/ses/latest/APIReference/API_CreateTemplate.html). O modelo pode ser utilizado por qualquer conta autorizada a enviar mensagens na região da AWS para a qual o modelo será adicionado.

**nota**  
O Amazon SES não valida HTML, portanto, certifique-se de que o *HtmlPart* é válido antes de enviar um e-mail.

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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

## Obter um modelo de e-mail
<a name="get-an-email-template"></a>

Para visualizar o conteúdo de um modelo de e-mail existente, incluindo a linha de assunto, o corpo HTML e o texto sem formatação, utilize a operação [GetTemplate](https://docs.aws.amazon.com/ses/latest/APIReference/API_GetTemplate.html). Somente o TemplateName é obrigatório.

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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

## Listar todos os modelos de e-mail
<a name="list-all-email-templates"></a>

Para recuperar uma lista de todos os modelos de e-mail associados à Conta da AWS na região atual da AWS, utilize a operação [ListTemplates](https://docs.aws.amazon.com/ses/latest/APIReference/API_ListTemplates.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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

## Atualizar um modelo de e-mail
<a name="update-an-email-template"></a>

Para alterar o conteúdo de um modelo de e-mail específico, incluindo a linha de assunto, o corpo HTML e o texto sem formatação, utilize a operação [UpdateTemplate](https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdadteTemplate.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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

## Excluir um modelo de e-mail
<a name="delete-an-email-template"></a>

Para excluir um modelo de e-mail específico, utilize a operação [DeleteTemplate](https://docs.aws.amazon.com/ses/latest/APIReference/API_DeleteTemplate.html). Somente o TemplateName é necessário.

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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

## Enviar um e-mail com modelo
<a name="send-an-email-with-a-template"></a>

Para usar um modelo e enviar e-mails aos destinatários, utilize a operação [SendTemplatedEmail](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\Exception\AwsException;
```

 **Código de exemplo** 

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