Creazione di modelli e-mail personalizzati mediante l'API Amazon SES eAWS SDK for PHPVersione 3 - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di modelli e-mail personalizzati mediante l'API Amazon SES eAWS SDK for PHPVersione 3

Amazon Simple Email Service (Amazon SES) consente di inviare e-mail personalizzate per ciascun destinatario utilizzando i modelli. I modelli includono un oggetto, il testo e le parti HTML del corpo dell'e-mail. Le sezioni dell'oggetto e del corpo possono anche contenere valori univoci personalizzati per ogni destinatario.

Per ulteriori informazioni, consultaInvio di e-mail personalizzate tramite Amazon SESnella Guida per sviluppatori di Amazon Simple Email Service.

Gli esempi seguenti mostrano come:

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura il tuoAWScredenziali, come descritto nellaImpostazione delle credenziali . Quindi importaAWS SDK for PHP, come descritto nellaUtilizzo di base.

Per ulteriori informazioni sull'utilizzo di Amazon SES, consulta laGuida per sviluppatori di Amazon SES.

Creazione di un modello di e-mail

Per creare un modello per l'invio di messaggi e-mail personalizzati, utilizzare l'operazione CreateTemplate. Il modello può essere utilizzato da qualsiasi account autorizzato per l'invio di messaggi nellaAWSRegione a cui viene aggiunto il modello.

Nota

Amazon SES non convalida il tuo HTML, per cui assicurati cheHtmlPartè valido prima di inviare un'e-mail.

Importazioni

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

Codice di esempio

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

Ottieni un modello e-mail

Per visualizzare i contenuti di un modello di e-mail esistente, inclusi l'oggetto, il corpo HTML e il testo normale, utilizza l'operazione GetTemplate. Solo TemplateName è obbligatorio.

Importazioni

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

Codice di esempio

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

Elenca tutti i modelli di e-mail

Per recuperare un elenco di tutti i modelli di e-mail associati alAWSconto nella correnteAWSRegion (regione), utilizzaListTemplatesoperazione.

Importazioni

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

Codice di esempio

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

Aggiornamento di un modello di e-mail

Per modificare i contenuti di un modello di e-mail specifico, incluso l'oggetto, il corpo HTML e il testo normale, utilizza l'operazione UpdateTemplate.

Importazioni

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

Codice di esempio

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

Eliminazione di un modello di e-mail

Per rimuovere un determinato modello di e-mail, utilizza l'operazione DeleteTemplate. Tutto ciò di cui hai bisogno è il TemplateName.

Importazioni

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

Codice di esempio

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

Invia un'e-mail con un modello

Per utilizzare un modello per l'invio di un e-mail ai destinatari, utilizza l'operazione SendTemplatedEmail.

Importazioni

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

Codice di esempio

$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' => $verified_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"; }