I suppose this is compatibility problem with the plugin email-ext.
What occurs is the following :
Mail title : 5 » promotion » Promo1 - Build # 5 - Building!
Mail body : 5 » promotion » Promo1 5
email-ext config title : $DEFAULT_SUBJECT
emain-ext config body : $PROJECT_NAME $BUILD_NUMBER
I tried to set a variable like you did with PROMOTED_URL using the following but I failed (Indeed, PROMOTED_URL is not resolved)
public EnvVars getEnvironment(TaskListener listener) throws IOException, InterruptedException