I had the same problem myself. After a lot of back and forth with support, received this reply:
-- start dreamhost reply --
Currently we have policyd configured to limit outbound mail originating
from our machines. The current default throttle levels are 1000/hr per
envelope sender. This will cause problems if you are running php as the
Apache user. Since several users on the machine may also run the php mail
command and execute php as the webserver user ( dhapache ). You must
either set php to run as cgi or edit your code to explicitly set the
envelope sender. Below is an example of the syntax that you must use
-- surround by php command delimiters --
mail('email@example.com', 'the subject', 'the message', 'From:
Let us know if you have any additional questions.
-- end dreamhost reply --
I hope this is helpful.