This may seems familiar to the question here:
http://www.quora.com/How-does-Yammer-validate-work-emails
But the question seems to be not answered. I am creating a simple enterprise social networking site in which I want to validate work emails if they are personal or not..My possible solution is look for the official list of personal email providers and their domain name given to compare but haven't found any.
Any help with this or an algorithm in detecting personal/work emails?
There isn't a specific algorithm because you can't predict what a domain is going to be used ahead of time. You need to do some research to make sure you block major providers for all the countries where they operate i.e. block yahoo.com and yahoo.co.uk. Make it easy for users to alert you to this issue in the early days of your apps so that you can crowdsource examples of personal email providers.
Over time you might be able to build up patterns, but the real question is "what is the cost to you of someone accessing with a personal email address?" Yammer isn't designed for individuals, it's for organisations. Having people from anywhere dropped into the same network based on personal email domain means that people can't really do a lot of work collaboration. This sorts out things pretty quickly as people realise something is up.