This technique doesn't work for everyone, of course, but it's how I stay sane.
For work-related interrupts; inbox, Slack, code reviews... I just do those immediately. If someone is blocked on me, I'm just throwing away money if I make them ask again a day later (since they are probably off to YouTube to chill out or something until I do the thing they asked). I find it very easy to jump back into something, even if I was in the legendary "flow state" at the time. (This is a skill you teach yourself, not an intrinsic aspect of your personality, I think.)
Finally, it's worth noting that you don't have to reply to your emails if you dont' want to. Just because someone wants something from you (your time) doesn't mean you have to give it to them. Too much of this, though, and people will stop talking to you. Maybe that's what you want, maybe that's not what you want. As with everything, there is a feedback loop and you are in control of whether it increases or decreases the volume of requests. (I suppose you can do this at work too. "If you don't want to be asked to do something, don't do a good job," they say. But, again, too much of that and you just get fired ;)