Question: Mail era is gone. Now we contact either by email or phone, so why is it still necessary? 

I have read it is to let the employer know where you live, but why is it necessary? If I'm applying for a job which is far from home is because I know I will have to relocate, isn't it obvious?

Answer: 
In general, when you apply for a job (or rent an apartment, apply for a credit card, etc) folks want to do a background check on you to make sure you're not a felon, or a credit risk, or a thief, or someone who for whatever reason won't qualify for the role because your personal profile represents unnecessary risks to the business that outweigh whatever skills you bring to the table.

Your credit report, criminal history, and mode of living can all be tied to your current and previous addresses, and background screening companies use this information to verify you're not an employment risk.

According to career coach Terri Lee Ryan, author of [Should You List Your Home Address on Your Resume?](http://www.chicagonow.com/get-employed/2011/01/should-you-list-your-home-address-on-your-resume/), employers may use a pre-screening process where any resumes that don't include this information are tossed out. With so many applicants, screeners may use such techniques to narrow the pile to an array of candidates more manageable.
My opinion you can put the town name. I wouldn't want to publish my full address to everyone who read my CV. In case the company offers you the job then you should give them your full address.