Freebsd 9.0, php 5.3.8 Все поставлено с портов, все работает. В php.ini внесены настройки корректного почтового сервера. При попытке отправки почты: mail($to, $subject, $message, $headers) в ответ письмо отправляется и доставляется, но в странице и в логах : Warning: mail(/var/log/) [function.mail]: failed to open stream: Is a directory in /usr/local/www/apache22/data/test/send_mail.php on line 32 По гуглю нашел, что проблема из-за отсутствия/проблем с записью для файла /var/log/php_mail.log - создал, дал 775, проблема осталась.
Разобрался. В php.ini нашел раскомментированную директиву mail.log. Согласно документации это "Путь к лог-файлу, в который будут записываться все вызовы функции mail(). Записи в логе содержат полный путь до скрипта, номер строки, адрес получателя To и заголовки". Эта же директива была раскоменчена в php.ini-development, с которого делал оригинальный php.ini. Указал полный путь к файлу логов почты - проблема исчезла. На виртуалке накатил свежий порт - там директива уже в каменте. Наверно мейнтейнер порта накосячил...