Cómo enviar correos electrónicos con Mailjet

Mailjet es un servicio de correo electrónico global de terceros que brinda a los usuarios de App Engine un nivel gratuito con 25,000 correos electrónicos por mes. Además, Mailjet ofrece las siguientes características:

  • Cumplimiento con la protección de datos europea.
  • Características de correo electrónico y capacidad de entrega, como configuración de prioridad personalizada y administración de regulación automatizada.
  • Una biblioteca de recursos de API integral en Go, PHP, Nodejs, Java, Python y Ruby para administrar cuentas secundarias, autenticación, contactos, campañas, cargas útiles personalizadas, estadísticas, eventos en tiempo real y análisis mediante la API de Event.
  • Asistencia las 24 horas, todos los días, en cualquier lugar del mundo y en más de 4 idiomas.
  • Capacidad de enviar correos electrónicos desde dominios que no sean gmail.com

Antes de comenzar

Antes de comenzar a enviar correos electrónicos con Mailjet, haz lo siguiente:

  1. Crea una cuenta de Mailjet. Como desarrollador de App Engine, puedes comenzar con 25,000 correos electrónicos gratuitos por mes.

  2. En Mailjet, agrega y verifica la dirección de correo electrónico del remitente.

  3. Toma nota de tu secreto y clave de API en tu Configuración de SMTP de Mailjet.

  4. Selecciona o crea un proyecto de GCP nuevo en Google Cloud Platform Console y, luego, asegúrate de que exista una aplicación de App Engine y de que la facturación esté habilitada:

    Ir a App Engine

    El panel se abrirá si ya existe una aplicación de App Engine en tu proyecto y si la facturación está habilitada. De lo contrario, sigue las instrucciones para seleccionar una región y habilitar la facturación.

  5. Agrega la clave y el secreto de API de Mailjet como variables del entorno a tu archivo app.yaml.

    1. Instala la biblioteca de Mailjet para Python en tu entorno de programación:

      pip install mailjet_rest
      
    2. Define la configuración de Mailjet, como la clave y el secreto de API, y la dirección de correo electrónico del remitente, en tu archivo app.yaml:

      env_variables:
          MAILJET_API_KEY: your-mailjet-api-key
          MAILJET_API_SECRET: your-mailjet-api-secret
          MAILJET_SENDER: your-mailjet-sender-address
    3. En el código de tu aplicación, importa la biblioteca de Mailjet para Python con import y agrega las claves:

      import mailjet_rest
      
      MAILJET_API_KEY = os.environ['MAILJET_API_KEY']
      MAILJET_API_SECRET = os.environ['MAILJET_API_SECRET']
      MAILJET_SENDER = os.environ['MAILJET_SENDER']

    Cómo enviar correos electrónicos

    Para enviar un mensaje en el código de tu aplicación, haz lo siguiente:

    1. Crea un cliente de Mailjet nuevo.

    2. Especifica los detalles y el contenido del mensaje, incluidos el correo electrónico y el nombre del remitente, el asunto, el cuerpo del mensaje y los destinatarios.

    3. Recupera la respuesta del servidor para comprobar el estado del mensaje.

    Por ejemplo:

    def send_message(to):
        client = mailjet_rest.Client(
            auth=(MAILJET_API_KEY, MAILJET_API_SECRET), version='v3.1')
    
        data = {
            'Messages': [{
                "From": {
                        "Email": MAILJET_SENDER,
                        "Name": 'App Engine Flex Mailjet Sample'
                },
                "To": [{
                    "Email": to
                }],
                "Subject": 'Example email.',
                "TextPart": 'This is an example email.',
                "HTMLPart": 'This is an <i>example</i> email.'
            }]
        }
    
        result = client.send.create(data=data)
    
        return result.json()

    Estadísticas

    La carga útil de respuesta de una llamada a la API de Send de Mailjet proporciona un MessageID. Puedes usar el MessageID para acceder a información y estadísticas sobre el mensaje.

    Usa la operación GET de /message para obtener información básica sobre un mensaje, como el remitente, el destinatario y el tamaño del mensaje. Para obtener más información sobre estadísticas de mensajes, incluidas las respuestas de la API de muestra, consulta la guía de API de Mailjet.

    API de Event

    La API de eventos de Mailjet ofrece notificaciones en tiempo real a través de solicitudes HTTP (webhooks) de cualquier evento relacionado con los mensajes que enviaste; por ejemplo, cuándo se enviaron o cuándo se abrieron. Esta notificación de evento funciona para toda clase de mensajes, desde transacciones hasta campañas de marketing.

    Usa la API de Event para realizar acciones específicas de manera eficiente, como el registro de los mensajes de marketing enviados a tus clientes o la actualización de los contactos que anularon la suscripción en tu sistema de administración de relaciones con clientes (CRM). En lugar de sondear la API de Mailjet algunas veces al día, los datos se envían a medida que los eventos se producen, casi en tiempo real.

    También puedes agrupar los eventos, algo que resulta útil cuando se envían volúmenes más grandes. Para obtener más instrucciones, consulta la documentación de Mailjet.

    API de análisis para correos electrónicos entrantes

    También puedes recibir y analizar correos electrónicos con Mailjet, con la entrega del contenido a un webhook. Mailjet organiza toda la información para que puedas guardarla en tu CRM o base de datos.

    Como una API de eventos, la API de análisis notifica casi en tiempo real a un webhook específico que envía datos a tu aplicación cuando un mensaje nuevo coincide con una ruta predefinida. Los correos electrónicos se envían a tu aplicación estructurados como un paquete JSON, con toda la información útil que necesitas, como remitente, destinatario, asunto, cuerpo y encabezados.

    Para obtener más información, incluidos los campos adicionales que se envían con cada correo electrónico y las instrucciones para la configuración y el uso del DNS, consulta la documentación de la API de Parse de Mailjet.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno de App Engine Flexible para Python