I'd rather see a Recall feature, rather than delayed send. 99.9% of messages will never be recalled, so no need to delay 100% of everything.
Exchange has had Recall for years, so it's not a new concept or technology.
Maybe this would be harder than it seems, but my thought is since transactions are logged, it's trivial to know where the message went when the Send button was pressed. If someone hits Recall, the system should just replay the log for that message and pull back the copies delivered, and delete any still in spool.
On my "perfect world" wish list, there should be an option to also withdraw the message EVEN IF it has been read.
Hear me out.
Any READ message that gets withdrawn would be replaced with a placeholder message (in the recipient's Inbox) saying the sender has recalled the message, along with the date/time the original message was sent and the date/time it was withdrawn. BUT, in order for that to work in a legal setting, any READ messages that get recalled should be automatically ARCHIVED and accessible by administrators. (there should be settings to enable this feature, along with retention period) So in the event an offensive or damaging message is READ by the recipient, then withdrawn by the sender, there will still be a copy available for review. (For example, Joe sends an obscene message to Jane, and she is immediately upset by it. Joe quickly recalls the message, but the damage has been done and Jane files a sexual harassment complaint. The admin can retrieve the withdrawn message from archive for review during the misconduct investigation.)
This can't be too difficult to construct, right?