Enviar correos con credenciales SMTP usando Amazon SES funciona… Pero no desde Discourse

He configurado Amazon SES.
He salido de la zona de pruebas, lo que significa que puedo enviar correos electrónicos a direcciones no verificadas.
De la documentación de Amazon SES:

Cuando su cuenta está fuera de la zona de pruebas, puede enviar correos electrónicos a cualquier destinatario, independientemente de si la dirección o el dominio del destinatario están verificados. Sin embargo, aún debe verificar todas las identidades que utilice como direcciones “De”, “Origen”, “Remitente” o “Return-Path”.

También he configurado mis credenciales SMTP.

Enviar un correo electrónico de prueba a un destinatario no verificado funciona desde el panel de Amazon S3 o cualquier otra herramienta de prueba SMTP.

Sin embargo, no funciona desde Discourse.

app.yml:

  DISCOURSE_SMTP_ADDRESS: email-smtp.eu-west-3.amazonaws.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: AKIA****************
  DISCOURSE_SMTP_PASSWORD: "*************************************"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, por defecto true)
  DISCOURSE_SMTP_DOMAIN: forum.monocycle.info # (dirección para enviar notificaciones)
  DISCOURSE_NOTIFICATION_EMAIL: noreply@forum.monocycle.info # (dirección para enviar notificaciones)

configuración de respuesta por correo electrónico:

Cuando envío un correo electrónico de prueba desde Discourse, el correo se omite con este mensaje de error:

554 Mensaje rechazado: La dirección de correo electrónico no está verificada. Las siguientes identidades no superaron la comprobación en la región EU-WEST-3: monocycle.info+verp-3a76559e11c2b9a318165af8eb968f22@gmail.com

Y, por supuesto, he reconstruido mi aplicación después de cambiar app.yml.

¿Alguna idea de por qué ocurre este problema y cómo resolverlo?

Ese mensaje de error sugiere que necesitas crear una identidad para monocycle.info@gmail.com y verificarla. Ten en cuenta que no necesitas verificar la etiqueta (+verp-...), ya que se aceptarán todas las etiquetas cuando la dirección se verifique sin etiqueta.

La razón de esto es que la dirección de correo electrónico de respuesta se utiliza como dirección Return-Path, uno de los tipos que tu cita destaca como necesitado de verificación.

No estoy seguro de por qué enviar de otras maneras funciona, pero creo que tus pruebas en el panel de Amazon y la herramienta de prueba SMTP probablemente funcionaron porque estaban enviando a tu dirección de correo electrónico de respuesta, en lugar de usarla como la dirección Reply-To/Return-Path como lo hace Discourse.

La documentación sobre identidades está aquí:

1 me gusta

Ah, sí, como se describe aquí:

Lo que al principio no entendí. Intentemos agregar mi dirección de Gmail como una dirección verificada en SES.

1 me gusta

AFAIK no puedes usar direcciones ±en SES. Pero uso SES todos los días a través de Discourse.

2 Me gusta

He verificado monocycle.info@gmail.com y Discourse puede enviar correos electrónicos a los usuarios. La función de responder por correo electrónico también funciona.
Veré en los próximos días si tengo algún problema.

¿Puedes aclarar un poco más? En relación a lo que acabo de escribir (las cosas parecen funcionar). :slight_smile:

1 me gusta

Hay dos cosas diferentes:

  • SES no puede usar direcciones con + en el tráfico entrante o saliente (realmente no recuerdo el término correcto para el formato +)
  • Envío correos electrónicos todo el tiempo desde Discourse a través de SES

Cuando intenté usar “crear/responder por correo electrónico”, necesité usar Gmail debido a eso.

¿Es esto relevante para ti… ni la más mínima idea? :man_facepalming:

1 me gusta

Oh, está bien, gracias por la aclaración. No uso direcciones ± para SES, así que no creo que sea relevante en mi caso. :slight_smile:

Amazon los llama etiquetas (labels), asumiendo que te refieres a las direcciones usuario+etiqueta@dominio, no recuerdo si ese es el término de correo electrónico o solo el término de Amazon. ¿Estás seguro de que no son compatibles? Los usuarios los usan con bastante frecuencia.
Lo único que puedo encontrar en la documentación es que la extensión SMTPUTF8 no es compatible, lo que limita la parte local (antes de @) a caracteres ASCII de 7 bits. Eso incluye el carácter +.

No, no lo haces, pero +verp… actúa como tal. ¿O estoy totalmente equivocado?

Bueno, mis respuestas pueden ser un poco erróneas ya que no entiendo mucho sobre cosas relacionadas con el correo electrónico.


Mi configuración de respuesta por correo electrónico es, de hecho, una dirección de Gmail que usa “+” y cosas así.

Si la configuración responder por correo electrónico está desactivada, entonces el envío de correos electrónicos de Discourse funciona (si mal no recuerdo).

Si la configuración responder por correo electrónico está activada, y si no verifico la dirección de Gmail en SES, entonces Discourse no enviará ningún correo electrónico, ya tengan una dirección de respuesta de Gmail o no (por ejemplo, el correo electrónico de prueba o un correo electrónico de resumen no tienen la dirección de respuesta de Gmail), y lanzará un error 554 Message rejected: Email address is not verified.

Si verifico la dirección de Gmail en SES, entonces todos los correos electrónicos enviados por Discourse parecen funcionar, ya tengan una dirección de respuesta de Gmail o no.

Por supuesto, me gustaría saber un poco más sobre cómo funcionan todas estas cosas, pero mientras funcione… Esa es mi principal preocupación. :smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.