GMail Undo Send

I know, right? Hell froze over! Now we can actually undo sending e-mails. Remember that time when you pressed CTRL + Enter by mistake? Or when you hit send and just in the same moment saw a horrible mistake? Well, Google comes to our rescue, with the amazing “Undo Send E-Mail” functionality!

Granted, “unsending” an e-mail is possible using some other methods as well, but this is the first time I see a user-friendly method implemented by a major public e-mail provider. And this is why I thought it’s a good idea to make it known to other people.

Here’s how to do it: go to Settings and enable it. Simple, eh? How does it work? I tested this using two accounts of mine. Google will, in fact, delay sending the e-mail for up to 30 seconds.

How to set up Undo Send

How to set up Undo Send

Unfortunately, if you navigate away from the current page after sending the e-mail, I don’t think you can stop it from being sent anymore (at least I couldn’t find any relevant button or menu option when I opened a test e-mail during the undo window of opportunity). Also unfortunately, you cannot undo for more than 30 seconds. But I’m still very happy I learned about his functionality. I have enabled it for both my accounts.

It just... works!

It just… works!

Share Anywhere:


  1. Reply

    Naturally I’ve enabled Gmail’s undodelayed send feature (although imo 30 s should be closer to the minimum rather than the maximum choice…), but the major missing feature is scheduled delayed sending. Like “send tomorrow around 9”. It’s nobody’s business that I’m typing up e-mails at 22 o’clock, plus it might set expectations. But instead of set it and forget it you have to take care of it yourself.

    I could use a proper e-mail client such as Thunderbird, but maybe I won’t even be at my desktop all day tomorrow. The same problem applies to browser extensions that integrate with Gmail itself. And yet e.g. WordPress shows how incredibly simple this can be.

    • Reply

      Well said Frans :). I would also love to have scheduled send. Perhaps Google will implement this. I’d love them to spend some time improving an amazing web client that has seen few changes in the past 5 years. Perhaps add a “pro” feature and monetize a bit.

      I love the scheduling in WordPress. I’ve been using it in the past few months, especially as I had some holidays. Actually, this website is pretty much on autopilot for the next 2-3 months (but I keep adding future content). However, the WordPress scheduling is a bit simpler than doing this for e-mail. The scheduling in WordPress is simply related to the database select query: if the date the website is loaded exceeds the date of the post, the post will be shown. E-mail needs some jobs to actually run & contact external servers. Still simple :D.

      • Reply

        I meant the GUI really. But actually I wouldn’t be surprised if WP-Cron were a lot more complicated than real cron. 😛

        • Reply

          But WordPress doesn’t use “cron” to schedule articles. It’s done passively. There is no modification to the database or anything once you schedule an article. It’s much simpler than that. Somebody makes a request to the website and the database select simply picks all posts up to the current date. Whereas sending an e-mail with delay requires an action on the e-mail provider’s part. It’s not like GMail can send an e-mail to Yahoo with the date of 2018 and Yahoo keeps it in its database and doesn’t show it to you until the server reaches that date :).

          • WP does a lot more than just that though. Most importantly it pings and submits to other websites no earlier than the scheduled date. Plugins can tap into that to submit to e.g. Twitter or *ahem* send out e-mail notifications. You can either let WP-Cron take care of it if someone happens to hit your page at random or disable WP from activating WP-Cron during page load and activate it through real cron instead. The system you describe is something I wrote around ’02 in a few hours, not WordPress. 😛

Leave Comment

Your email address will not be published. Required fields are marked *