Marketo support is working on it, they cant seem to figure it out yet.
This is telling. You got the script as right as you could, but that parsing error is about the space in the field name.
Try manually replacing the spaces with underscores:
${Lead.Styling_Session_Date}
if that doesn't help, also try
${Lead.StylingSessionDate}
Also pls show a screenshot of Field Management for that field.
Hi Mate here is the screen
If you write to me off-line, I'd like to try something else using Velocity as a debugging tool.
Also, what are your results from Velocity with the underscores inserted vs. with a known-nonexistent field?
You don't have to be a dev for this test -- just create a new Email Script {{my.token}}, substituting your lead field for Matthew's of course.
Then add the new {{my.token}} to the email.
Thanks for the help Sanford
underscores or %20 (html ascii code for space) breaks the token and the email doesnt validate.
But good insights into the spaces been an issue.
Doesn't validate? An unrecognized variable shouldn't do that. Try it with:
${Lead.Some_Random_Field_Name_XYZpdq123}
That should validate and send fine (the email will have the literal text "${Lead.Some_Random_Field_Name_XYZpdq123}").
%20 is the URL-encoded representation of a space character (HTML-encoded is  ) -- neither of these would ever work in a Velocity variable.
With you now
The field doesnt populate still for me. I'll see if support comes back with anything
So when you put the random (nonexistent) field, with underscores, in the Velocity script, what happens? Does it validate? But with your actual field with underscores, it doesn't validate? These would be important findings to share w/support even if they are not solutions.
The fact that the field doesn't appear with underscores when you drag it into the Velocity Editor from the tree on the right is a big one.