Page template with custom html fields inside a content

Do you mean that when the page is rendered your [custom-email-form] is replaced with html? That’s just a custom shortcode. Just create a plug-in that registers the shortcode and then outputs its content when called.