I will quote some relevant piece of information/thought from this paper by Gregory D Abowd & Alan. Titled - Giving undo attention.
The principle of intent: Undo is the user's intention, not a system function.An undo button is
then seen as an action which aims to satisfy that intention. However,
the system will not always be able to act so as to perform exactly the
intent of the user.
Another on proportionate effort:
We must ensure that commands that are easy to do are easy to undo.
This seems reasonable as if we think about it - Reversing an action is not a system's suggestion, but a user's very own 'occasional' intent. Also, we can safely conclude that sending an email is a different type of activity when compared to activities like spelling checks/digital image corrections. Its different both as it is non-continuous in nature and arguably demands more thought value (and hence more significant). Hence the comparisons to other UNDO's in the digital world could be spared.
This makes me pose a question - Why is Gmail highlighting the UNDO feature through the notification, everytime I send an email? It could very well lie in the ribbon/left menu etc but more in a static position, allowing the user to reach for it when needed, vs prompting me every time of it. Sending an email is among GMAIL's flagship facilities - and should be treated accordingly. Making the UNDO action popup every time, makes it look very insignificant, and can provoke a sense in the user that sending a false email might be okay. Assuming the UNDO button being somewhere else (menu item of sorts), still serves the good purpose, but makes the user reach for it when needed.
Another point which I would like to make is the COPY. Calling it "UNDO" creates a mental model of the 'email sending action' similar to any action that we might undo/redo in a word file for example. Wouldn't it be better to call it "RECALL" or something more relevant of the action it does? Careful copy might also help to establish the weight behind that action.
Since the UNDO feature is carved out use case of a 'bug' or system delay in sending emails, it could very well be restructured to aid the mental model of users. Say as a suggestion, the email once sent, a preloader type facility somewhere in the UI runs for 10 odd seconds (as per setting), and sends the email. If needed the user can reach out and pause the same, make edits and continue the sending process.
To conclude: Sending an email, although in digital world through a button click, is a significant action and reversing it should also be treated accordingly. Agreed, that the user needs to be in control but we should be careful and responsible in defining about how an user accesses those controls, as the larger goal is to make the user more efficient and not just about making the product more glorious. Both not being proptional in my lmited understanding.