mzovadia wrote:I've read that it's wise to place such processes outside the root for security measures
Well, disregard what've you read then. Maybe I can see this being true if you had a config file that had DB passwords and such, but even then I wouldn't worry about it, since I would simply define() the passwords and wouldn't care if someone went to http://mysite.com/config.php since they wouldn't see anything but a blank screen (or perhaps a nasty message I might leave them 😉).
mzovadia wrote:This is a form to mail script and I've read how malicious types can send a bunch of spam through the form if proper precautions aren't taken.
Quite true; if you have a form that does any sort of mailing, you need to be extra careful about how you use the submitted data. For example, you should never use any user-supplied variable (including ones in the query string - they can alter those just as easy as submitting a form) in the header section of an e-mail... if you do, you need to make sure you've sanitized the data and prevented them from injecting their own headers and mail message.
In fact, if I use a form that automatically sends e-mails from a user-given address, I'd probably include a CAPTCHA or even a simple "What is two times 5 ?" required question to verify that it's a person submitting the form and not a spam bot.