Verificación de identidades de correo electrónico mediante la API de Amazon SES y la versión 3 de AWS SDK para PHP - AWS SDK para PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Verificación de identidades de correo electrónico mediante la API de Amazon SES y la versión 3 de AWS SDK para PHP

La primera vez que se utiliza la cuenta de Amazon Simple Email Service (Amazon SES), todos los remitentes y destinatarios deben verificarse en la misma región de AWS a la que se envían los mensajes de correo electrónico. Para obtener más información sobre el envío de mensajes de correo electrónico, consulte Envío de correo electrónico con Amazon SES.

Los siguientes ejemplos muestran cómo:

Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación AWS con la AWS SDK para PHP versión 3. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.

Para obtener más información sobre el uso de Amazon SES, consulte la Guía para desarrolladores de Amazon SES.

Verificar una dirección de correo electrónico

Amazon SES solo puede enviar correos electrónicos desde direcciones de correo electrónico o dominios verificados. Al verificar una dirección de correo electrónico, demuestra que es el propietario de esa dirección y que desea permitir que Amazon SES envíe mensajes de correo electrónico desde esa dirección.

Al ejecutar el siguiente ejemplo de código, Amazon SES envía un mensaje de correo electrónico a la dirección especificada. Cuando usted (o el destinatario del mensaje de correo electrónico) hagan clic en el enlace del mensaje, la dirección se habrá verificado.

Para añadir una dirección de correo electrónico a su cuenta de Amazon SES, utilice la operación VerifyEmailIdentity.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->verifyEmailIdentity([ 'EmailAddress' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Verificar un dominio de correo electrónico

Amazon SES solo puede enviar correos electrónicos desde direcciones de correo electrónico o dominios verificados. Al verificar un dominio, demuestra que es el propietario de ese dominio. Si verifica un dominio, permite a Amazon SES enviar correo electrónico desde cualquier dirección de correo electrónico de dicho dominio.

Cuando ejecute el siguiente ejemplo de código, Amazon SES le proporcionará un token de verificación. Debe añadir el token a la configuración de DNS del dominio. Para obtener más información, consulte Verificación de un dominio con Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service.

Para añadir un dominio de envío a su cuenta de Amazon SES, utilice la operación VerifyDomainIdentity.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->verifyDomainIdentity([ 'Domain' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Lista de direcciones de correo electrónico

Para recuperar una lista de direcciones de correo electrónico enviadas en la región de AWS actual, independientemente del estado de verificación, utilice la operación ListIdentities.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listIdentities([ 'IdentityType' => 'EmailAddress', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Lista de dominios de correo electrónico

Para recuperar una lista de dominios de correo electrónico enviada a la región de AWS actual, independientemente del estado de verificación, utilice la operación ListIdentities.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); try { $result = $SesClient->listIdentities([ 'IdentityType' => 'Domain', ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Eliminación de una dirección de correo electrónico

Para eliminar una dirección de correo electrónico verificada en la lista de identidades, utilice la operación DeleteIdentity.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $email = 'email_address'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $email, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

Eliminación de un dominio de correo electrónico

Para eliminar un dominio de correo electrónico verificado de la lista de identidades verificadas, utilice la operación DeleteIdentity.

Importaciones

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

Código de muestra

$SesClient = new Aws\Ses\SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => 'us-east-2' ]); $domain = 'domain.name'; try { $result = $SesClient->deleteIdentity([ 'Identity' => $domain, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }