PHP-функция mail(), sendmail, ISPManager
Часто для отправки почты из PHP-скриптов используется функция mail. На серверах под управлением ISPManager и использующих sendmail могут возникнуть проблемы, если адрес отправителя не существует. Например, скрипт пытается отправить почту с обратным адресом no-reply@example.com, а ящика такого нет. Создавать подобные почтовые ящики не всегда необходимо.
Вариант 1
Можно отказаться от функции mail(), завести ящик и отправлять почту через SMTP.
Вариант 2
Можно просто завести ящик, адрес которого будет использоваться как обратный :).
Вариант 3
Если для почтового домена в ISPManager поставить действие по умолчанию «Ignore and drop», ошибки подавляются и почта с несуществующих адресов уходит.
Вариант 4: FreeBSD, решения из дисковых шаблонов VDSManager
В дисковых шаблонах, которые идут с VDSManager проблема решена следующим способом (спасибо службе поддержки за объяснения):
rm /etc/mail/submit.cf rm /etc/mail/submit.mc chmod 4555 /usr/local/sbin/sendmail (вместо 2555) echo 'SENDMAIL_SET_USER_ID=yes' >> /etc/make.conf
