CiviRules + emailapi extension. Scheduled reminders is too inflexible as you can't control the criteria - with CiviRules you can build in whatever conditions you like.
Looks like you'd need to add a new "CRON trigger" to CiviRules for recurring contributions but we already have that for activities and for memberships so would be pretty easy to do ...
This appears when you have schedule reminder with is repeat ON and 'Also Include' Recipient set. Try applying below patch
diff --git a/CRM/Event/ActionMapping.php b/CRM/Event/ActionMapping.php
index 9c8aaae7a5..0874099eb0 100644
@@ -136,7 +136,7 @@ class CRM_Event_ActionMapping extends \Civi\...
1/ if you have civirules installed then
a/ you should see it listed as 'installed' at /civicrm/admin/extensions?reset=1
b/ you should find a CiviRules menu item under Administer (usually gets added at the bottom of the list)
2/ in terms of using it to send out a receipt, if you are wanting to include the amount they you may need an extension such as https://...
Unless writing an extension implementing token processor its not possible to fetch the participant id in reminders.
If you familiar with smarty and the contact will have only one participant for a event than you can try below snippet in your reminder message template
Good question with several permutations! Here's a partial answer from experience.
Case A: A contact registers after an event scheduled reminder was
sent, but before the event starts.
It is sent. The timing will be whenever your Send Scheduled Reminders scheduled job runs. It occurs when you set x time before and based on this answer specific time it will ...