First a few infos:
mail()
in this case. For all my other
Do not rely on mail()
as it is unreliable and leads to issues just like these. I've used phpMailer for years quite happily.
If you persist on mail()
then check your settings in php.ini (explained at http://www.quackit.com/php/tutorial/php_mail_configuration.cfm). Note that usually CLI has a different php.ini than FastCGI.
Some more common problems:
FastCGI doesn't have permissions to use sendmail
Memory limit with large attachments