Undo/Scheduled Send is one of those features that seems like it would be trivial to implement (just delay sending the message, duh!)
But delay long enough and iOS will kill your app. And if you are terminated, how do you guarantee waking up at the right time to send? There's no public API to do this.
For Big Mail I've had to get creative, ultimately relying on a cloud component.
(Apple Mail is allowed to cheat somehow, of course 🫢)