Erstellen von benutzerdefinierten E-Mail-Vorlagen mithilfe der Amazon SES SES-API und der AWS SDK für PHP Version 3 - AWS SDK für PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen von benutzerdefinierten E-Mail-Vorlagen mithilfe der Amazon SES SES-API und der AWS SDK für PHP Version 3

Mit Amazon Simple Email Service (Amazon SES) können Sie mithilfe von Vorlagen E-Mails versenden, die für jeden Empfänger personalisiert sind. Vorlagen enthalten eine Betreffzeile und die Text- und HTML-Teile des E-Mail-Textes. Die Betreff- und Textabschnitte können auch eindeutige Werte enthalten, die für jeden Empfänger personalisiert sind.

Weitere Informationen finden Sie unter Senden personalisierter E-Mails mit Amazon SES im Amazon Simple Email Service Developer Guide.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

Der gesamte Beispielcode für AWS SDK für PHP ist hier verfügbar GitHub.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK für PHP, wie unter beschriebenGrundlegende Verwendung.

Weitere Informationen zur Verwendung von Amazon SES finden Sie im Amazon SES Developer Guide.

Erstellen einer E-Mail-Vorlage

Verwenden Sie den CreateTemplateVorgang, um eine Vorlage für den Versand personalisierter E-Mail-Nachrichten zu erstellen. Die Vorlage kann von jedem Konto verwendet werden, das zum Senden von Nachrichten in der AWS Region berechtigt ist, zu der die Vorlage hinzugefügt wurde.

Anmerkung

Amazon SES validiert Ihren HTML-Code nicht. Stellen Sie daher sicher, dass er gültig HtmlPartist, bevor Sie eine E-Mail senden.

Importe

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

Beispiel-Code

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

Holen Sie sich eine E-Mail-Vorlage

Verwenden Sie den GetTemplateVorgang, um den Inhalt einer vorhandenen E-Mail-Vorlage einschließlich Betreffzeile, HTML-Text und Klartext anzuzeigen. Nur TemplateName ist erforderlich.

Importe

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

Beispiel-Code

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

Alle E-Mail-Vorlagen auflisten

Verwenden Sie den ListTemplatesVorgang, um eine Liste aller E-Mail-Vorlagen abzurufen, die mit Ihrer AWS-Konto in der aktuellen AWS Region verknüpft sind.

Importe

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

Beispiel-Code

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

Aktualisieren einer E-Mail-Vorlage

Verwenden Sie den UpdateTemplateVorgang, um den Inhalt einer bestimmten E-Mail-Vorlage zu ändern, einschließlich der Betreffzeile, des HTML-Textkörpers und des Klartextes.

Importe

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

Beispiel-Code

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

Löschen einer E-Mail-Vorlage

Verwenden Sie den DeleteTemplateVorgang, um eine bestimmte E-Mail-Vorlage zu entfernen. Alles was Sie brauchen ist die TemplateName.

Importe

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

Beispiel-Code

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

Senden Sie eine E-Mail mit einer Vorlage

Verwenden Sie den SendTemplatedEmailVorgang, um eine Vorlage zum Senden einer E-Mail an Empfänger zu verwenden.

Importe

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

Beispiel-Code

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