Short term/Specific:
* Ask players not to browse, answer emails, etc... at the table when it is avoidable and not game related.
* Address PCs individually - and often - to keep them involved in the story.
* Put elements in play that interact individually with a PC. Players that are 'gang tackling a solo' monster tend to drift faster than when they are dealing with their 'own threat', such as a monster with which tey are going one on one.
* Be familiar with the flaws, traits, etc... of the PCs and drop hooks that allow them to interact with those elements.
* Use an NPC to interact with the PC individually. I often have an NPC travel with the party that is insignificant in combat, but provides some unique benefit to the group (it knows someone important and can make an introduction, it is paying the PCs to guard it, etc...) If a PC drifts, I'll have that NPC there to engage the PC/player. If you have a player that drifts often, consider giving them an intelligent magic item that can be there all the time to engage the player.
Long Term/Broad:
* There are no DMs in the world that would not benefit from learning a few new tricks. For most DMs, that includes learning how to be better storytellers. You could study this for decades and still have lot of new tricks to learn. As a DM, your job description includes writing and acting. There is a lot of advice out there on how to write dialogue (or improvise it) that gets attention, or to deliver it in such a way that it captures the imagination.
* Consider adding immersive elements to the environment. A soundtrack, lighting, miniatures or standees (even if you do theater of the mind), etc... can all make people feel like they're deeping in the story. I run games in a room with an HDTV behind me. It took me years to realize I should incorporate it into the game. Now, I put up artwork of monsters on the screen, reinforce enviornmental considerations (I show mist if they are in a misty room, etc....)
* Shape stories around PCs, rather than let PCs wander through your stories. When the player feels like they are living their story, rather than experiencing yours, they'll be more engaged.