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 di e-mail personalizzati utilizzando l'API Amazon SES e la AWS SDK for PHP versione 3
Amazon Simple Email Service (Amazon SES) Simple Email Service (Amazon SES) consente di inviare e-mail personalizzate per ciascun destinatario utilizzando 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, consulta Invio di e-mail personalizzate utilizzando Amazon SES nella Amazon Simple Email Service Developer Guide.
Gli esempi seguenti mostrano come:
-
Crea un modello di email utilizzando CreateTemplate.
-
Elenca tutti i modelli di email che utilizzano ListTemplates.
-
Recupera un modello di email utilizzando GetTemplate.
-
Aggiorna un modello di email utilizzando UpdateTemplate.
-
Rimuovi un modello di email utilizzando DeleteTemplate.
-
Invia un'email basata su un modello utilizzando. SendTemplatedEmail
Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui
Credenziali
Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.
Per ulteriori informazioni sull'uso di Amazon SES, consulta la Amazon SES Developer Guide.
Creazione di un modello di e-mail
Per creare un modello per inviare messaggi e-mail personalizzati, utilizza l'CreateTemplateoperazione. Il modello può essere utilizzato da qualsiasi account autorizzato a inviare messaggi nella AWS regione a cui è stato aggiunto il modello.
Nota
Amazon SES non convalida il codice HTML, quindi assicurati che HtmlPartsia valido prima di inviare un'e-mail.
Importazioni
require 'vendor/autoload.php'; 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"; }
Richiedi un modello di email
Per visualizzare il contenuto di un modello di email esistente, inclusi l'oggetto, il corpo HTML e il testo semplice, utilizza l'GetTemplateoperazione. Solo TemplateName è obbligatorio.
Importazioni
require 'vendor/autoload.php'; 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 email
Per recuperare un elenco di tutti i modelli di email associati al tuo Account AWS nella AWS regione corrente, usa l'ListTemplatesoperazione.
Importazioni
require 'vendor/autoload.php'; 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 il contenuto di un modello di email specifico, tra cui la riga dell'oggetto, il corpo HTML e il testo semplice, utilizza l'UpdateTemplateoperazione.
Importazioni
require 'vendor/autoload.php'; 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 modello di email specifico, usa l'DeleteTemplateoperazione. Tutto ciò di cui hai bisogno è il TemplateName.
Importazioni
require 'vendor/autoload.php'; 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"; }
Inviare un'e-mail con un modello
Per utilizzare un modello per inviare un'e-mail ai destinatari, utilizza l'SendTemplatedEmailoperazione.
Importazioni
require 'vendor/autoload.php'; 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' => $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"; }