Para mejorar la seguridad del correo electrónico y garantizar la entrega confiable y de gran volumen, migra del servicio de correo electrónico heredado a un servicio de proveedor de correo electrónico externo estándar que use el Protocolo simple de transferencia de correo (SMTP), como SendGrid, Mailgun o Mailjet.
En esta guía, se describe el proceso para migrar los servicios de correo electrónico saliente del servicio de correo electrónico de App Engine a un servicio de correo electrónico basado en SMTP. Puedes aplicar estas instrucciones para migrar a cualquier proveedor de correo electrónico externo basado en SMTP o usar otro entorno de ejecución compatible. En esta guía, no se proporcionan los pasos para migrar la mensajería entrante que usa una alternativa de terceros.
El estándar SMTP ofrece los siguientes beneficios en comparación con el servicio de correo electrónico heredado de App Engine:
Los servicios basados en SMTP proporcionan una mejor entrega de correo electrónico, ya que reducen la probabilidad de que los correos electrónicos se marquen como spam.
Con los servicios basados en SMTP, puedes acceder a informes de estadísticas detallados sobre las aperturas, los clics y los rebotes de correos electrónicos. Estos informes proporcionan información útil sobre cómo interactúan los usuarios con tus correos electrónicos.
Tienes el control total de la reputación del remitente y la autenticación de correo electrónico.
Aumento de los límites de envío diarios en comparación con el servicio de correo electrónico heredado con acceso a funciones avanzadas, como pruebas A/B, segmentación y plantillas.
Descripción general del proceso de migración
El proceso de migración incluye los siguientes pasos:
- Configura el servicio de correo electrónico basado en SMTP para obtener tus credenciales de SMTP.
- Verifica la identidad del remitente para autenticarte con tu dominio o dirección de correo electrónico.
- Configura tus archivos fuente con tus credenciales de SMTP y el método de envío, y, luego, implementa tu aplicación.
- Prueba tu aplicación para verificar la funcionalidad del correo electrónico.
Configura el servicio de correo electrónico basado en SMTP
Configura una cuenta con un proveedor de correo electrónico externo estándar que use SMTP, como SendGrid, Mailgun o Mailjet, y recupera la siguiente información del proveedor elegido:
Host SMTP: Es la dirección del servidor SMTP que se usa para enviar correo electrónico. Por ejemplo,
smtp.sendgrid.netoexample.mailjet.com.Puerto: Es el número de puerto de la conexión. Por ejemplo,
587para el encriptado TLS.Nombre de usuario: Es el nombre de usuario de acceso SMTP de tu cuenta.
Contraseña o clave de API: Es la contraseña de tu cuenta o una clave de API, que actúa como la contraseña para la conexión SMTP. En el caso de algunos proveedores, como SendGrid, el nombre de usuario es un valor fijo como
apikey, y la clave de API se usa como contraseña.
Verifica la identidad del remitente
Para evitar el spam, todos los servicios de correo electrónico requieren que verifiques que eres el propietario de la dirección de correo electrónico o el dominio desde el que envías correos electrónicos. Este paso suele implicar agregar detalles de DNS específicos, como registros CNAME, a la página de administración de DNS del host de tu dominio.
Sigue las instrucciones de tu proveedor para verificar la identidad del remitente antes de continuar con la configuración de la aplicación.
Para agregar registros DNS al host de tu dominio, sigue estos pasos:
- Accede al servicio de tu proveedor de DNS.
- Navega a la página de administración de DNS de tu dominio.
Agrega los registros CNAME exactamente como los proporciona tu proveedor de servicios de correo electrónico. Para cada registro, haz lo siguiente:
- En el campo Nombre o Host, ingresa los detalles del host.
- En el campo Puntos o Valor, ingresa el valor.
Los cambios de DNS pueden tardar unas horas en activarse. Si falla la verificación, espera un tiempo y vuelve a intentarlo.
Configura tus archivos fuente
Para incluir la funcionalidad SMTP, sigue estos pasos:
Agrega la siguiente versión del SDK de Python a tu archivo
requirements.txt:appengine-python-standard==2.0.0Agrega el siguiente código a tu archivo
app.yamlpara cambiar al servicio SMTP:runtime: RUNTIME # a supported python version env_variables: # Enable the SMTP service. APPENGINE_USE_SMTP_MAIL_SERVICE: "true" # --- SMTP Server Configuration --- # The server address from your mail provider APPENGINE_SMTP_HOST: "SMTP_HOST" # The recommended port for TLS connections APPENGINE_SMTP_PORT: "587" # The username for your SMTP login APPENGINE_SMTP_USER: "SMTP_USER" # The API key or password APPENGINE_SMTP_PASSWORD: "SMTP_PASSWORD" # Use TLS for a secure connection APPENGINE_SMTP_USE_TLS: "true" # --- For sending emails to Admins --- # A comma-separated list of admin email addresses. # This is required if you use the send_mail_to_admins() function. APPENGINE_ADMIN_EMAIL_RECIPIENTS: "admin@example.com,another-admin@example.com"Reemplaza lo siguiente:
- RUNTIME: una versión compatible del entorno de ejecución de Python.
- SMTP_HOST: la dirección del host SMTP. Por ejemplo,
smtp.sendgrid.netoexample.mailjet.com. - SMTP_USER: el nombre de usuario de acceso SMTP de tu cuenta. Por ejemplo,
apiKey. - SMTP_PASSWORD: la contraseña o la clave de API que obtuviste de tu proveedor de correo electrónico externo. Para mejorar la seguridad, te recomendamos que uses Secret Manager para almacenar tu clave de API en lugar de colocarla en el archivo
app.yaml. - Si no usas la función
send_mail_to_admins(), omite la configuraciónAPPENGINE_ADMIN_EMAIL_RECIPIENTS.
Ejecuta el siguiente comando para implementar tu aplicación:
gcloud app deploy
Prueba tu aplicación
La migración se realiza de forma correcta si puedes implementar la app sin errores. Para verificar que tu servicio de correo electrónico funcione, sigue estos pasos:
- Activa la parte de tu aplicación que envía un correo electrónico.
- Consulta el Explorador de registros para asegurarte de que no haya errores relacionados con las llamadas a la API o el intento de conexión SMTP.
- Accede a la cuenta de tu proveedor de correo electrónico externo (p.ej., Mailgun, Mailjet, SendGrid) y consulta su feed de actividad, registros o panel de entrega. Tu correo electrónico de prueba debería aparecer en el feed con un estado de entrega marcado como
Processed,Deliveredo similar.
¿Qué sigue?
- Crea un secreto y accede a él con Secret Manager.
- Migra desde servicios agrupados en paquetes heredados.