Configurar el correo electrónico de prueba antes de comenzar la instalación

La herramienta discourse-doctor puede enviar un correo electrónico de prueba. Esto también debería agregarse a la herramienta discourse-setup. Realice una prueba rápida de correo electrónico para verificar que los datos SMTP que el usuario ingresó funcionen ANTES de configurar toda la pila de software. Como indican las notas, no funcionará si el correo electrónico no está configurado correctamente.

Esto podría ahorrar mucho tiempo si la persona que realiza la instalación escribió incorrectamente incluso una pieza de datos.

Hmm. Parece que es posible hacer una prueba SMTP semi-automática de esta manera:

echo Hello world > /tmp/mail.txt
curl -v  smtp://$DISCOURSE_SMTP_ADDRESS:$DISCOURSE_SMTP_PORT  \
  --mail-from noreply@$DISCOURSE_HOSTNAME \
  --mail-rcpt $(echo $DISCOURSE_DEVELOPER_EMAILS | cut -d ',' -f 1) \
  --user $DISCOURSE_SMTP_USER_NAME:"$DISCOURSE_SMTP_PASSWORD" \
  --upload-file /tmp/mail.txt

Así que debería ser posible hacer una prueba así. Mi preocupación es que tendría un montón de falsos positivos y falsos negativos, pero tal vez imprimir una advertencia si falla podría ayudar a algunas personas.

Tal vez una idea mejor sería otro script (discourse-mail-check?) que hiciera una prueba rápida y sucia como esa si tienes problemas.

Solo esperaba tener la prueba directamente después de que el usuario ingresara los detalles de SMTP. Envía un correo electrónico de prueba a una dirección que el usuario proporciona y se le pregunta al usuario si recibió el correo electrónico; si lo hizo, la instalación continúa. Si no lo hizo, puede volver a probar o modificar la configuración de SMTP e intentarlo de nuevo.

2 Me gusta

como se describe en mi publicación aquí Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53 - #4 by wal Pude enviar correos electrónicos de prueba antes de ejecutar el script completo de discourse-setup utilizando este método descrito aquí con telnet

notablemente, usé el puerto 587 en lugar del 25 que se muestra allí, y debe asegurarse de codificar en base64 su nombre de usuario y contraseña de SMTP.

También enlazado en esa publicación hay un script que AWS proporciona que muestra cómo hacer lo mismo con el comando openssl (enlace aquí; Creating configuration sets in SES - Amazon Simple Email Service )

si no está utilizando AWS SES para su servidor de correo electrónico, es posible que deba ajustar el script un poco, pero en general creo que uno o ambos deberían ser útiles para verificar el correo electrónico antes de la instalación (esto es lo que hice)

si bien estoy de acuerdo en que idealmente debería haber una forma de probar el correo electrónico antes de la instalación, creo que en realidad podría ser preferible que se envíe como un script independiente separado de algún tipo con Discourse para que pueda ejecutarlo sin tener que pasar por todo el proceso de configuración, que puede llevar ~10 minutos.

1 me gusta