
4 answers
Yes, You can. First, Create a Visualforce Component Instead of Visualforce Page. Example: Component Name - awesomeComp <apex:component>
<apex:attribute name="record" description="The type of record we are viewing."
type="Object" required="true"/>
<apex:pageBlock title="Viewing {!record}">
<apex:detail />
</apex:pageBlock>
</apex:component>
You can learn more about components Here.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_comp_cust_def.htmThen you can create Your visualforce email template and add it to the template.
Best,Nithesh<messaging:emailTemplate
subject="Hey there!">
<messaging:HtmlEmailBody >
<html>
<head>
<meta content="text/css;charset=utf-8" http-equiv="Content-Type"/>
<meta name="Template" content="Response"/>
</head>
<body>
<p><b>Your data</b>
<c:awesomeComp record="" /> // your Component.
</p>
</body>
</html>
</messaging:HtmlEmailBody>
</messaging:emailTemplate>