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:
-
Crea un modello di e-mail usando CreateTemplate.
-
Elenca tutti i modelli di e-mail usando ListTemplates.
-
Recupera un modello di e-mail usando GetTemplate.
-
Aggiorna un modello di e-mail usando UpdateTemplate.
-
Rimuovi un modello di e-mail usando DeleteTemplate.
-
Invia un messaggio e-mail usando SendTemplatedEmail.
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.
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"; }