Hi,
have you thought about using sub process and interrupting catch event? I mean that you could create sub process that will enclose timer, send email activities in a loop with a condition to execute the loop for maximum three times (or whatever is your requirement) and then attach to the sub process an interrupting boundary event (signal for instance) that will stop the sub process and continue alternative path.
HTH