I hope this question not same as this one: 
https://security.stackexchange.com/questions/26198/e-mail-can-be-made-to-appear-like-it-came-from-a-big-organization

I'm not asking how to protect brands and large organizations (Google, Yahoo, etc.), but how can normal users protect themselves.

As far as I know there are worms that can get an email's address books, and there are programming libraries that enables users to craft packets .

By using both (stealing the address and crafting an email packet and send it to the right server), a malicious hacker should be able to send the victim an email that will look like it came from one of his friends (asking for money for example).

So beside the typical way, (calling the one that the hacker claimed to be), is there a technical way to detect such fake messages?