При использовании apache + mod_ruid2 в некоторых случаях может не доставляться почта, отправленная с помощью php-шной функции mail(), не смотря на все корректно заполненные заголовки.
При попытке отправить письмо приходит “отлуп”:
Subject: Mail delivery failed: returning message to sender This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: remoteuser@domain.com SMTP error from remote mail server after RCPT TO:: host mx.domain.com.ua [89.1xx.xx.xx]: 550 Can't verify sender
Кто-то уже сталкивался с таким ?
Update:
Вылечилось легкой правкой конфига exim-а
Причина проявления данного эффекта связана с тем, что вот эта директива, указанная в юзеровском httpd.conf:
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f user@domain.net'
полностью игнорировалась.
Фикс такой – добавляем в конфиг ексима следующее:
local_from_check = false local_sender_retain = true untrusted_set_sender = *
Перезапускаем и наслаждаемся отсутствием описанной выше проблемы.
Для справки.
до установки мода mod_ruid2 php скрипты работали под именем apache. В свою очередь, пользователь apache входит в trusted_users в конфигурации ексима.
Поэтому заголовок ‘Sender:' изменялся с помощью “sendmail -t -i -f user@domain.net” вполне нормально.
После установки mod_ruid, скрипты выполняются уже от имени владельца, который не входит в trusted_users и естественно не мог сделать подмену ‘Sender:' и ‘From:'
а в какую часть конфига для exim необходимо добавить этот код?
Можно в начало файла