IMO the most important thing is to separate your email templates from your code base from the very beginning. Use a templating system from one of the external providers or something like SendWithUs.
Email is an afterthought that grows as your product grows. Untangling later becomes a big time sink.