We are seeing a similar issue with freestyle jobs on Jenkins 2.32.1. The problem we are seeing is that if an environment variable (or build parameter) isn't defined, the variable name is treated as a string literal instead of an empty string. We see this behavior in the "Recipients" field for the built-in "E-mail notification" post-build action as well as the "Project Recipient List" for the "Editable Email Notification" post-build action provided by the email-ext plugin. To replicate this issue, try to refer to an undefined environment variable in one of those fields. The environment variable syntax we're using in the recipient list is:
emailaddress1 emailaddress2 ${TEST_EMAIL_LIST}
Basically, emails will always be delivered to emailaddress1 and emailaddress2, but some jobs need to supply additional email addresses via the TEST_EMAIL_LIST build parameter. We have a job that is a downstream to several other jobs. Some of the upstream jobs (but not all) supply TEST_EMAIL_LIST as a build parameter to the downstream job. When the variable is actually defined, everything works as expected, however when it is not defined, both the built-in "Email notification" and the "Editable Email Notification" plugin will try to send an email to the address "$TEST_EMAIL_LIST", which causes an error since it is not a valid address. We would expect that an undefined environment variable would be treated as an empty string, which is how they are treated in the bash shell.
Update: Simple build parameters are not working either. When I create a build parameter "ALERT_EMAIL_LIST" and set "Email Notification > Recipients" to "${ALERT_EMAIL_LIST}", I see: "Sending e-mails to: ${ALERT_EMAIL_LIST}@test.com".
Again, this only applies to <hudson.maven.reporters.MavenMailer>.