Los nombres de usuario SMTP que contienen barras (/) deberían ser aceptados.
La barra (/) es un carácter válido para un nombre de usuario SMTP, según RFC3696:
Sin comillas, las partes locales pueden consistir en cualquier combinación de
caracteres alfabéticos, dígitos o cualquiera de los caracteres especiales
! # $ % & ’ * + - / = ? ^ _ ` . { | } ~
Vía de corrección
El script falla en un comando sed que, por defecto, utiliza la barra (/) como separador.
Dado que la barra (/) no es un carácter aceptable para la parte local de una dirección de correo electrónico, se puede utilizar en lugar de la barra (/), sin ningún efecto secundario que otro carácter como una coma o un punto y coma podría tener (excepto que las barras en los patrones sed deben escaparse; tenga en cuenta que usar ] en su lugar eliminaría la necesidad de escapar las barras):
línea 589: smtp_domain=$(echo $notification_email | sed -e \"s/.*@//\") debería ser smtp_domain=$(echo $notification_email | sed -e \"s:.*@::\")
línea 648: DISCOURSE_DEVELOPER_EMAILS utiliza comas (,) para separar direcciones de correo electrónico, por lo que también podría usar barras (:) de forma segura.
línea 675 es la fuente de mi error: sed -i -e \"s/^ #\\?DISCOURSE_SMTP_USER_NAME:.*/ DISCOURSE_SMTP_USER_NAME: $smtp_user_name/w $changelog\" $web_file podría ser sed -i -e \"s:^ #\\?DISCOURSE_SMTP_USER_NAME\\:.*: DISCOURSE_SMTP_USER_NAME\\: $smtp_user_name:w $changelog\" $web_file o sed -i -e \"s]^ #\\?DISCOURSE_SMTP_USER_NAME:.*] DISCOURSE_SMTP_USER_NAME: $smtp_user_name]w $changelog\" $web_file
lo mismo para la línea 684 (DISCOURSE_NOTIFICATION_EMAIL)
No tengo control sobre ese código, pero lo escribí hace mucho tiempo. Esa es una gran solución. Debería haberlo pensado. Supongo que se aceptaría una PR.
Lamentablemente perdí el acceso a mi cuenta de Github. Me piden un código y ya no uso el correo electrónico vinculado, por lo que simplemente dejé de usar esa plataforma excepto para clonar código público.
Gracias por el informe, pongo pr-welcome en caso de que alguien pueda enviar un parche.
Siempre podrías publicar un .diff aquí y que un miembro de la comunidad se lleve el mérito