I have yet to see a truly complete tutorial on this subject, although Armin Danesh's 3-part Unicode article on CommunityMX comes pretty close. He covers stuff I don't here (like mySQL data connections), and you'll find it worth spending US$6 to buy his articles; especially since he takes the time to explain things, and this is only a quick list of do's and don'ts.
Its strange to discuss a procedure that makes a ColdFusion function less efficient. Especially in light of how well the ColdFusion MX 6.1 CFMAIL tag works (up to 1,000,000 messages per hour). Nonetheless, some realities in this world are inescapable, and doing this will fix one of them.
Use CFFILE to allow file uploads that are restricted in size and by MIME type, with friendly error messages.
Set up a single form to add multiple records to parent/child database tables. This example uses a parent table for a home, with child records for each resident.