HTML emails have to be coded like this. For best possible results we have to use table layouts and inline css because
email clients are tricky and doesn't use latest css properties. So to keep them compatible with all kinds of email clients, the elements have to have inline css. Otherwise it is not even possible to have a decent HTML email which will render correctly on all email clients.
Its just how it is currently due to limitation from email renderers and clients.