It's normal.
You don't insert a variable but a string.
For insert a variable in a string there are several ways.
My favorite is this :
varToInsert = 131531
String = f"My number is {varToInsert}"
With your code :
def mail(hW):
mail_body = f"""
Hey,
{hW} ## <I want Hello World to be here>
Regards,\nJohn Doe
"""