You may split backup generation and sending email:
Script 1. After backup generetation assign name of created backup to global variable, for example backup2sent.
Script 2. In other script each 5 minutes (or 1 hour or…) test value of backup2sent and if it’s non zero - try send backup via email. If sent was succesful assign zero value to this variable.