Amazon Simple Email Service
Guía del desarrollador

Envío de un correo electrónico utilizando el AWS SDK for Python (Boto)

En este tema, se muestra cómo utilizar el AWS SDK for Python (Boto) para enviar un correo electrónico a través de Amazon SES.

importante

En este tutorial, envíese un correo electrónico a usted mismo para poder comprobar si lo recibe. Para seguir experimentando o realizar pruebas de carga, utilice el simulador de bandeja de correo de Amazon SES. Los correos electrónicos que envíe al simulador de bandeja de correo no se contabilizan en su cuota de envío ni en sus tasas de rebotes y reclamaciones. Para obtener más información, consulte Probar el envío de correo electrónico en Amazon SES.

Requisitos previos

Antes de empezar, lleva a cabo las tareas siguientes:

  • Verifique su dirección de correo electrónico con Amazon SES — Antes de poder enviar un correo electrónico con Amazon SES, debe verificar que es el propietario de la dirección de correo electrónico del remitente. Si su cuenta está todavía en el entorno de pruebas Amazon SES, también tiene que verificar la dirección de correo electrónico del destinatario. La forma más sencilla de verificar direcciones de correo electrónico consiste en utilizar la consola de Amazon SES. Para obtener más información, consulte Verificación de direcciones de correo electrónico en Amazon SES..

  • Obtenga sus credenciales de AWS — Necesita un ID de clave de acceso de AWS y una clave de acceso secreta de AWS para tener acceso a Amazon SES utilizando un SDK. Puede encontrar sus credenciales utilizando la página Security Credentials de la Consola de administración de AWS. Para obtener más información acerca de las credenciales, consulte Uso de credenciales con Amazon SES.

  • Instale Python — Python está disponible en https://www.python.org/downloads/. El código de este tutorial se ha probado utilizando Python 2.7.6 y Python 3.6.1. Después de instalar Python, añada la ruta a Python a sus variables de entorno para que pueda ejecutar Python desde cualquier símbolo del sistema.

  • Instale el AWS SDK for Python (Boto) — Para obtener las instrucciones de descarga e instalación, consulte la documentación del AWS SDK for Python (Boto). El código de muestra de este tutorial se ha probado utilizando la versión 1.4.4 del SDK for Python.

  • Cree un archivo de credenciales compartidas — Para que el código de muestra de esta sección funcione correctamente, debe crear un archivo de credenciales compartidas. Para obtener más información, consulte Crear un archivo de credenciales compartidas.

Procedimiento

El procedimiento siguiente muestra cómo enviar un correo electrónico a través de Amazon SES utilizando el SDK for Python.

Para enviar un correo electrónico a través de Amazon SES utilizando el SDK for Python

  1. En un editor de texto, cree un archivo con el nombre amazon-ses-sample.py. Pegue el código siguiente en el archivo:

    import boto3 from botocore.exceptions import ClientError # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. SENDER = "Sender Name <sender@example.com>" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. RECIPIENT = "recipient@example.com" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable, and the # ConfigurationSetName=CONFIGURATION_SET argument below. CONFIGURATION_SET = "ConfigSet" # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES. AWS_REGION = "us-west-2" # The subject line for the email. SUBJECT = "Amazon SES Test (SDK for Python)" # The email body for recipients with non-HTML email clients. BODY_TEXT = ("Amazon SES Test (Python)\r\n" "This email was sent with Amazon SES using the " "AWS SDK for Python (Boto)." ) # The HTML body of the email. BODY_HTML = """<html> <head></head> <body> <h1>Amazon SES Test (SDK for Python)</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-python/'> AWS SDK for Python (Boto)</a>.</p> </body> </html> """ # The character encoding for the email. CHARSET = "UTF-8" # Create a new SES resource and specify a region. client = boto3.client('ses',region_name=AWS_REGION) # Try to send the email. try: #Provide the contents of the email. response = client.send_email( Destination={ 'ToAddresses': [ RECIPIENT, ], }, Message={ 'Body': { 'Html': { 'Charset': CHARSET, 'Data': BODY_HTML, }, 'Text': { 'Charset': CHARSET, 'Data': BODY_TEXT, }, }, 'Subject': { 'Charset': CHARSET, 'Data': SUBJECT, }, }, Source=SENDER, # If you are not using a configuration set, comment or delete the # following line ConfigurationSetName=CONFIGURATION_SET, ) # Display an error if something goes wrong. except ClientError as e: print(e.response['Error']['Message']) else: print("Email sent! Message ID:"), print(response['MessageId'])
  2. En amazon-ses-sample.py, reemplace lo siguiente por sus propios valores:

    • sender@example.com — Sustitúyalo por una dirección de correo electrónico que haya verificado con Amazon SES. Para obtener más información, consulte Verificación de identidades. Las direcciones de correo electrónico en Amazon SES distinguen entre mayúsculas y minúsculas. Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

    • recipient@example.com — Sustitúyalo por la dirección del destinatario. Si su cuenta está todavía en el entorno de pruebas, debe verificar esta dirección antes de utilizarla. Para obtener más información, consulte Salir del entorno de pruebas de Amazon SES. Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

    • (Opcional) us-west-2 — Si desea utilizar Amazon SES en una región distinta de EE.UU. Oeste (Oregón), sustitúyala por la región que desee utilizar. Para obtener una lista de las regiones en las que Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la AWS General Reference.

  3. Guarde amazon-ses-sample.py.

  4. Para ejecutar el programa, abra un símbolo del sistema en el directorio en que se encuentra amazon-ses-sample.py y, a continuación, escriba python amazon-ses-sample.py.

  5. Revise la salida. Si el correo electrónico se ha enviado correctamente, la consola muestra "Email sent!". De lo contrario, muestra un mensaje de error.

  6. Inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Encontrará el mensaje que ha enviado.