When using the Jenkins pipeline where each stage runs on a different agent, it is good practice to use agent none at the beginning:
agent none
pipeline {
wrap the step that does the mailing in a node step:
step
node
post { always { node('awesome_node_label') { step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: "test@test.com", sendToIndividuals: true]) } } }