Hi HongYip,
Not sure if you are talking about sending the view or editing the file. See below for both scenarios and some ideas.
When you send email from InfoPath using an Email Data Connection, InfoPath creates an HTML body for the email.
When you send email from a Stored Proc, you are not creating that HTML body. You will need to change your SPROC to create this HTML body using a view of the form (one of the XSLs in the XSN package) and the XML that you want to send. This process of creating an HTML body is not perfect because InfoPath has special controls for buttons, datepickers, etc. and those cannot be easily converted to HTML. InfoPath has special logic to make the HTML look better by replacing those controls or modifying the XSLT to make the HTML look better. Obviously, that will be hard for your SPROC to do, so I recommend just creating an Email view that you use which is a read-only view which has the data in it so your recipients can read it.
You will need to extract the XSL from the XSN and use that to create the HTML. We have tools that can help you do this and Microsoft also provides a batch tool as part of IP2003/2007 that will do the same.
You will need to tell Outlook that the content type is an InfoPath form so that it knows to open InfoPath instead of Word or the default Outlook canvas to render the form. I'm guessing there is an option when you create the envelope to specify content type, but we don't have much experience doing this. Please look at what Outlook provides here. It's probably documented somewhere. If not, you may be able to save an MSG file that does open in InfoPath and see the header of the email to identify the correct values.
Hope this helps in some way. Sorry I don't have a silver bullet.