EADDRESS=$([[ "$1" == "" ]] && echo "noreply@example.com" || echo "$1")
could be replaced with: EADDRESS={$1:-noreply@example.com}
From the man page: ${parameter:-word}
Use Default Values. If parameter is unset or null, the expansion of word is substituted. Otherwise, the value of parameter is substituted.
For: EADDRESS=$(echo "$EADDRESS" | sed 's;@;%40;')
you could use: EADDRESS=${EADDRESS/@/%40}