Hi Ramesh
If WF_SUBSTITUTE BADI is not called, maybe you want to try and see any enhancements around FM RH_SUBSTITUTION_MAINTAIN, which gets called deep within the calls.
Another dirty approach is to do an implicit enhancement.
FM RH_SUBSTITUTION_MAINTAIN call the routine INSERT_SUBSTITUTE in include LRHW2F03
At the end of this Subroutine, INSERT_SUBSTITUTE, you can add an implicit enhancement to check SUBRC, if successful, get the data from the signature of the routine to send the email.
Please note that this is the last resort and an unverified solution from all aspects. Please do consider all possibilities of the execution of this FM (including outside of the workflow context and SBWP).
Regards,
Modak