Being distracted by e-mail is a problem you can easily solve: don't respond to an e-mail unless it needs a response now. Just put it on a TODO list and respond to it when you come to a convenient break in your coding.
Meetings can be trickier, but you can still try to reduce the load:
- Only attend meetings where your input is actively required. If you're just at the meeting to find out what other people discussed, ensure the meeting is properly minuted and you're told the results.
- Actively work to shorten meetings. If people start getting off-topic, politely but firmly bring the meeting back on topic. To do this you need to ensure every meeting has an agenda so that everybody knows what is on topic.
If that doesn't reduce your load acceptably, start talking to your boss about what your role is - are you an "individual contributor" whose primary role is to actually write the code, or are you a "leader" whose primary role is to ensure that other people write the right code. Make it clear that you can't do both of these at once. If there are bits of your current role you can give to others, do that.
Of course, it may just be that your boss is expecting you to work longer hours than you are happy with (what your contract says are your weekly hours is largely irrelevant here). That's a very different problem, and one that means you may need to re-evaluate whether your current job is the right one for you.