I've been dealing with this same issue for the past couple years (fortunately it has gotten better). I share a first, last, and middle name with another employee at the same location. I've taken a couple steps to prevent confusion:
- I changed appearance of my name in the global email directory. Since our names couldn't be differentiated by middle initial (probably wouldn't help most people anyway), I updated my first name to a nickname. This can help prevent people from sending it to me by mistake, and highlights the fact that there are multiple people with the same name when looking at the address list.
- Whenever I receive an email in error (that doesn't appear to be spam or junk), I send a polite response to the sender letting them know about the confusing situation, and asking them if they had meant to send it to the other guy (and including his correct email address). While this doesn't prevent a mistaken first email, I've never had repeat erroneous mail from the same sender.
- For suspicious email (potential spam, etc.) or for actual mail or packages, I contact the other guy with a description of the item, including sender, subject, and possibly contents to see if it is something that he would expect he might receive. If so, I either use step 1 above (with the intended recipient CCed), or hand-deliver the mail/package.
Importantly, make sure the other person is aware of the problem, and that you are both taking steps such as these to prevent and/or resolve issues. Additionally, make sure you let people know when they send something to the wrong person, not just so that particular item can be redirected, but so that they can correct their address list and prevent future mistakes.
Additionally, some email systems allow addresses to have a picture or some sort of status message associated with them (visible internally to an organization). If your organization's system enables this, try to use it as an additional means of differentiation between the two of you.